Jenkins CI 와 Slack 연동하기

CI/Jenkins 2015. 12. 10. 16:38 by 후뤼한잉여

Jenkins CI 와 Slack 연동하기

1. 개요

Jenkins CI를 적용하면서 빌드에 대한 내용도 슬랙으로 받아보는 테스트를 진행해보고자 설정한 내용을 정리한 문서입니다.
잉여이기 때문에 실무에서 사용하는 내용이 아니지만 나중에라도 써먹거나 누군가한테 도움이 될만한 힌트용으로라도 남기고자 합니다.
기본적인 진행 방법은 GitLab과 Slack 연동하기과 동일하므로 그림은 일체 넣지 않았습니다.

2. Slack 설정

Slack에 접속된 상태(PC 앱, 웹) 기준으로 진행합니다.

  1. Slack 왼쪽 상단에 Slack 도메인 선택
  2. 메뉴 중 [Configure Integrations] 메뉴 클릭
  3. 연동할 서비스 목록에 Jenkins 입력하여 검색
  4. 검색 된 Jenkins CI 클릭
  5. Jenkins CI에서 포스팅할 채널을 선택 후 [Add Jenkins CI Intergration] 버튼 클릭
  6. Team DomainIntegration Token 어딘가에 임시로 기록
    (사실 JenkinsCI와 Slack 두 페이지를 동시에 띄어서 작업하겠지만 메뉴얼 작성시에는 동시 설명이 어려우므로… 기록 한다는 형식으로 작성하였습니다.)
  7. Save Settins 메뉴 클릭

3. Jenkins CI 설정

  1. Jenkins CI 접속
  2. [Jenkins 관리] 메뉴 클릭
  3. [플러그인 관리] 메뉴 클릭
  4. 설치 가능 탭에서 Slack Notification Plugin 플러그인 설치
  5. [Jenkins 관리] 메뉴 클릭
  6. [시스템 설정] 메뉴 클릭
  7. 중간 부분에 Global Slack Notifier Settings에 슬랙에서 발급받은 정보 입력
    • Team Domain : 슬랙 도메인 입력
    • Integration Token : 슬랙에서 발급 받은 토큰 입력
    • Channel : 포스트할 채널 입력. 콤마(,)로 여러 채널 포스팅 지원
    • Build Server URL : 빌드 서버 즉, CI 서버 주소 입력
  8. [저장] 버튼 클릭
  9. Job(프로젝트) 선택
  10. [구성] 클릭
  11. Slack Notifications 부분에 슬랙으로 알림 할 상항을 설정.
    • Notify Build Start : 빌드 시작 시
    • Notify Aborted : 사용자가 임의로 중지 시
    • Notify Failure : 빌드 실패 시
    • Notify Not Built :
    • Notify Success : 빌드 성공 시
    • Notify Unstable :
    • Notify Back To Normal :
  12. [빌드 후 조치 추가] 리스트 박스를 클릭 후 Slack Notifications를 등록
  13. [저장] 버튼 클릭

CentOS 7 에서 VMWare Tools 설치

Linux/CentOS 2015. 12. 9. 13:04 by 후뤼한잉여

CentOS 7 에서 VMWare Tools 설치

1. 개요

개인적으로 테스트용도로 사용하는 서버를 노트북에 VMWare를 통해 구성해서 사용하고 있는데, 노트북 절전 모드 이후 다시 실행시 리눅스 서버시간이 멈춰있어 시간 동기화에 필요성을 고민 하던 중 VMWare Tools을 설치하면 PC와의 시간이 동기화가 된다는 문서를 보고 설치를 한 내용을 정리한 문서입니다.

2. 설치하기

  1. VMware에서 제공되는 이미지를 CD ROM에 Mount 시킨다. (Window)
  2. linux상에서 kernel을 업데이트 한다. (이하 Linux)
    kernel 업데이트를 하지 않으면 설치 중 문제가 발생하므로 설치 하도록 한다.
    sudo yum update kernel
    
  3. linux를 재부팅 한다.
    reboot
    
  4. 의존 패키지 설치
    sudo yum install gcc kernel-devel
    
  5. CD-ROM을 linux상에 Mount
    sudo mkdir /mnt/cdrom
    sudo mount /dev/cdrom /mnt/cdrom
    
  6. VMWareTools 설치파일 복사
    sudo cp /mnt/cdrom/VMwareTools*.gz /tmp
    
  7. CD-ROM UnMount 작업
    sudo umount /dev/cdrom
    
    윈도우 VMWare에서 CD-ROM disconect 진행
    
  8. VMWareTools 압축 해제
    cd /tmp
    sudo tar -C /tmp -zxvf VMwareTools*.gz
    
  9. VMWareTools 설치 진행

    cd vmware-tools-distrib
    sudo ./vmware-install.pl
    

    처음 설치시 YES 입력 이후엔 엔터만 쳐줘도 설치가 진행이 된다.

  10. 동기화 설정하기

    vmware-toolbox-cmd timesync enable
    

    자세한 문서는 vmware 홈페이지에서 확인

Jnekins 과 Tomcat 8 연동하여 WAR 파일 배포

CI/Jenkins 2015. 12. 9. 00:37 by 후뤼한잉여

Jnekins 과 Tomcat 8 연동하여 WAR 파일 배포

1. 개요

SSH를 통해 직접 배포를 해도 되지만, 톰캣 컨테이너를 통해 좀 더 자동화를 시키기 위해 설정한 내용을 정리한 문서입니다.

2. Tomcat 설정

톰캣을 외부 또는 웹에서 deploy하기 위해서 deploy관련 서비스에 대해서 권한설정을 해줘야 한다.

vi [톰캣 설치경로]/conf/tomcat-users.xml

세부 설정은 아파치 톰캣 사이트에서 확인이 가능하다.

<tomcat-users>와 </tomcat-users> 사이에 <role>과 <user>를 등록해서 사용해야 한다.
<role>에는 4가지 역할이 존재한다.
1. manager-gui : 톰캣에서 웹으로 제공하는 서비스 이용시 사용한다.
2. manager-status : "Server Status"페이지 접속시에만 사용한다.
3. manager-script : 스크립트를 이용한 배포시 사용하는 듯 하다.
4. manager-jmx : jmx 사용시 사용한다.

대략적인 사용방법은 아래와 같다.

<role rolename="역할명" />
<user username="사용할ID", password="사용할PW" roles="역할명1, 역할명2..." />

Jnekins 연동을 위해서 설정은 아래와 같이 진행하였다.

<tocamt-users>
...
    <role rolename="manager-script" />
    <user username="아이디" password="암호" roles="manager-script" />
</tomcat-user>

3. Jenkins 설정

  1. [Jenkins 관리] -> [플러그인 관리] -> Deploy to container Plugin 플러그인 설치
  2. Job 선택 -> [구성] 메뉴 클릭
  3. 빌드 후 조치 부분에 [빌드 후 조치 추가] 버튼을 클릭 후 Deploy war/ear to a conatiner 선택
  4. Tomcat Deploy 설정 후 저장
    ① WAR/EAR files은 워크스페이스에서 가져올 WAR 또는 EAR파일을 어디에서 어떤 이름으로 가져올지를 설정하는 곳이다.
    ② Context path는 배포시 사용할 컨텍스트를 지정한다. /test로 지정하면 http://URL/test/index.jsp 식으로 접속이 가능해진다.
    현재 톰캣 7.x까지 지원하는걸로 나오는데 7.x 선택 후 8 버전도 사용이 가능하다.
    ③ Container는 사용하는 Container를 선택하는 곳이다.
    ④ Manager username은 앞서 톰캣에서 설정한 아이디를 입력한다.
    ⑤ Manager password도 앞서 톰캣에서 설정한 암호를 입력한다.
    ⑥ Tomcat URL은 톰캣에 접속할 때 사용하는 포트까지의 경로이다. http://IP:포트식을 의미한다.
    

'CI > Jenkins' 카테고리의 다른 글

Jenkins CI 와 Slack 연동하기  (0) 2015.12.10
Jenkins와 SSH를 이용한 배포 연동  (0) 2015.12.08
Jenkins 와 Gradle을 이용한 Build 연동  (0) 2015.12.08
Jenkins HTTPS 적용하기  (0) 2015.11.22
CentOS 7 에 Jenkins CI 설치하기  (1) 2015.11.21
Nav