일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- tool
- laravel
- Git
- JVM
- linux
- jenkins
- IntelliJ
- AWS
- Web Server
- Design Patterns
- jsp
- Oracle
- ubuntu
- redis
- db
- Spring Boot
- java
- it
- Gradle
- javascript
- 맛집
- Spring Batch
- ReactJS
- elasticsearch
- 요리
- Spring
- springboot
- MySQL
- devops
- php
- Today
- Total
아무거나
jenkins rsync를 통한 빌드/배포 본문
몇 년전에 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 |