본문으로 바로가기

젠킨스 서버 구축

category Devops 2018. 3. 29. 17:36
    반응형

     

    상용 서버 패치를 자동화 한다.

     

    기존 서버 배포 과정

    1. 빌드 서버에서 git pull을 통해 소스를 가져온다.
    2. 빌드 서버에서 maven을 사용하여 서버를 빌드 한다.
    3. 상용 서버에서 톰캣 종료 및 war 삭제
    4. 상용 서버에서 빌드 서버에서 war 카피
    5. 상용 서버에서 톰캣 실행
    6. 3 ~ 5까지 과정을 다른 상용서버에서도 진행을 한다.

     

    젠킨스란?

    : 소스코드 리포지토리에 대한 통합 및 배포(Continuous Integration)를 위한 서비스를 제공한다.

    : 커밋 -> 빌드 -> 테스트 -> 배포의 자동화 서비스를 제공한다.

    : 일련의 과정을 자동화 하기 위해 파이프라인을 선언적, 스크립트로 작성이 가능하다.

     

    젠킨스 설치 (Mac OS)

    1. https://jenkins.io/ war 파일 다운로드
    2. http://tomcat.apache.org/ tomcat 설치
    3. tomcat webapps/ 에 jenkins.war 파일 복사
    4. tomcat 서버 실행
    5. 젠킨스 초기 비밀번호 입력 
    6. 플러그인 설치 (권장, 선택), 권장 선택
    7. 초기 페이지 화면

     

     

    젠킨스 Job 설정

    1. New Item 클릭
    2. 이름, 설명 입력
    3. GitHub project 체크 후 Project Url 입력 ( 대쉬보드 링크용 )
    4. 소스코드 관리에서 Git 정보 설정, Repository URL, Credentials 에 Add를 사용해서 Id, password 입력, Branch  입력
    5. 빌드에서 Maven 선택 Goals에 Maven 명령어 입력 (clean package ..)
    6. 빌드에서 Send files or execute commands over SSH 선택 (Public Over SSH 플러그인 설치 및 설정이 되어있어야 한다.)

     

    Public Over SSH 플러그인

    : 원격 서버에서 쉘스크립트 실행을 도와주는 플러그인

    : 플러그인 설치 후 시스템 설정에서 Publish over SSH 설정 정보 입력

    http://www.leafcats.com/227

     

    슬렉과 연동하기

    http://www.yocto.co.kr/2016/01/slack-jenkins.html

     

    : 슬렉 토큰 하나로 모든 채널 사용 가능

    : 슬렉 토큰은 Jenkins Certificate 에 저장하여 사용한다. (보안)

     

    슬레이브 노드 추가하기

    http://namgh.blogspot.kr/2016/01/jenkins-slave.html

     

    Project Template

    http://kingbbode.tistory.com/35

    : Parameterized Trigger Plugin 설치

    : 파라미터를 받아 파이프라인을 진행하는 프로젝트를 만들면, 해당 프로젝트가 템플릿 프로젝트가 된다. ( 해당 프로젝트는 병렬실행이 가능하게 설정, 아니면 병목 발생 )

    : Parameterized Trigger Plugin으로 템플릿 프로젝트를 실행시킨다.

    : 장점은 빌드 과정을 템플릿화 시킬 수 있다.

    : 단점은 템플릿을 사용한 프로젝트에서 템플릿에서 실행된 콘솔 정보를 보기 위해서 템플릿 콘솔 정보를 찾아가야한다.

     

    서버 배포 젠킨스 최종 모습

     

    톰캣없이 실행하기

    java -jar jenkins.war --httpPort=30030

     

    반응형