아무거나

jenkins rsync를 통한 빌드/배포 본문

Infra/DevOps

jenkins rsync를 통한 빌드/배포

전봉근 2019. 3. 5. 11:30
반응형

몇 년전에 PHP로 기존에 rsync로 배포가 되어있는 부분을 jenkins를 적용하여 배포가 좀 더 편리하게 개선을 하였던 사례이다.

형상관리는 bitbucket으로 되어있다.


가. 빌드

    ​1. 새로운 아이템 -> 이름입력후 Freestyle project 선택후 생성

    2. 생성된 프로젝트를 클릭하여 들어간후 관리 클릭

   ​​ 3. 소스코드관리 부분에서 git으로 필요입력정보 입력

   ​​ 4. Credentials 에서 add 클릭후 jenkins 선택 -> username, password bitbucket 계정정보 입력후 add선택하면 셀렉트박스에 설정한 목록나옴

   ​​ 5. Branch Specifier (blank for 'any') 원하는 브랜치 선택

   ​​ 6. 빌드 후 조치는 E-mail Notification으로 이메일주소 입력하자(할사람만)

   ​​ 7. 빌드가 되면 cd /usr/share/tomcat8/.jenkins/workspace/joongna_api 이런식으로 workspace 폴더가 생기며 저장된다.

 

​나. 배포 

    1. rsync를 통한 배포

       - sudo apt-get install rsync

       - sudo rsync -rave --delete -e "ssh -i /usr/share/tomcat8/.jenkins/pem/AWS_SEOUL_KEY_PAIR.pem" /usr/share/tomcat8/.jenkins/workspace/joongna_api_dev/ ubuntu@52.79.85.217:/var/www/html/dev_1_2/ --exclude=.git --exclude=.gradle      // rsync -rave key파일경로 원본경로 배포할경로 exclude은 파일 제외​

 

​    2. rsync 배포가 안될 때 ( excute shell error ) 

       - sudo vi /etc/sudoers 에 "jenkins ALL=(ALL) NOPASSWD: ALL" 를 추가한다

      ​ - AWS_SEOUL_KEY_PAIR.pem 소유권 ubuntu로 변경

      ​ - sudo chown jenkins:jenkins .jenkins

      ​ - sudo chown jenkins:jenkins .jenkins

      ​ - sudo vi /usr/sbin/visudo 편집기 실행

      ​ - tomcat8 ALL=(ALL) NOPASSWD: ALL ( sudo 명령어 사용하기 위한 등록 )

      ​ - rsync 명령어로 host 허용여부 yes 설정처리

     shell ) sudo rsync -rave --delete -e "ssh -i /usr/share/tomcat8/.jenkins/pem/AWS_SEOUL_KEY_PAIR.pem" /usr/share/tomcat8/.jenkins/workspace/joongna_api_dev/ ubuntu@52.79.85.217:/var/www/html/dev_1_2/ --exclude=.git --exclude=.gradle    // rsync -rave key파일경로 원본경로 배포할경로

반응형

'Infra > DevOps' 카테고리의 다른 글

jenkins 모니터링 플러그인 설치  (0) 2019.03.05
jenkins 메모리 문제(속도 저하 및 애플리케이션 종료)  (0) 2019.03.05
jenkins 계정권한  (0) 2019.03.05
jenkins 설치  (0) 2019.03.05
zabbix 설치  (0) 2019.03.05
Comments