Jenkins install

Tool/Jenkins 2017. 2. 9. 23:09

프로젝트의 자동 빌드 및 배포를 목적으로 CI/CD (Continuous Integration/Deployment) 를 적용하기로 했다.

CI tool 중 가장 많이들 사용하는 jenkins 와 AWS 에 최적화 된 우리에게 적합한 CodeDeploy 를 테스트하고 비교해 보기로 했다.


[필수 요구 조건]


- 하나의 VCS 에서 모듈 별로 배포가 가능해야 한다.

- 운영/개발 서버별로 배포가 가능해야 한다.

- 배포시 특정 서버를 선택할 수도 있어야 한다.


현재는 로컬에서 빌드하고 S3에 업로드 하고 각 서버들에서 배치파일을 실행하여 배포가 되는 식이다.

이것을 VCS 에서 특정 모듈을 특정 서버로 자동 배포하는 방식으로 바꾸려는 것이다.




1. Jenkins 란


Jenkins 는 Java 로 제작된 CI 오픈소스 툴이다.

소프트웨어 빌드, 테스트 및 배포와 같은 모든 종류의 작업을 자동화하는 데 사용할 수 있다.



2. 설치 전 요구사항


- Java 8 (최소 7)

- 1GB+ 메모리 (최소256M)

- 50GB+ (최소1G)



3. 다운로드 / 설치


Jenkins 는 Docker 로도 설치할 수 있고, Tomcat 에 서블릿으로도 설치할 수 있고, 서버에 독립형(Standalone) 으로도 설치가 가능하다.

난 설정이 번거롭긴 하지만 깔끔하게 독립형으로 진행해 본다.


- Redhat / Centos


$ wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum update
$ yum install jenkins
cs


- Debian / Ubuntu


$ wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
$ sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
$ apt-get update
$ apt-get install jenkins
cs


나머지 OS 는 사이트 document 참고 - https://jenkins.io/doc/book/getting-started/installing/



4. 환경 설정


/etc/sysconfig/jenkins 설정 파일에서 필요한 부분을 확인/수정한다.

(JENKINS_HOME, JENKINS_USER, HTTP_PORT 등)


HTTP_PORT 를 수정하여 브라우저 접속 포트를 변경할 수 있다.(기본 8080)



5. 데몬 실행


$ service jenkins start
cs



6. Jenkins 사이트 설정


jenkins 데몬을 실행하고 브라우저로 해당 서버에 접속하면 (http://ip or domain:8080/) jenkins 가 잠겨 있는데,

서버의 특정 위치(예:/var/lib/jenkins/secrets/initialAdminPassword) 에 생성된 password 를 복붙하여 다음 화면으로 이동한다.


- Customize Jenkins

다음으로 플러그 인을 설치하는 화면인데 필요한 플러그인을 모른다면, 일단 기본(추천) 하는 플러그인만 설치한다.

이렇게나 많은 플러그인 들이 기본으로...



- Create First Admin User

다음은 jenkins 를 관리할 관리자 계정을 생성하면 관리자 화면으로 이동하게 되고 설치를 일단락한다.





WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,