DevOps
[Jenkins] CI/CD 자동적용 설정
nineDeveloper
2020. 5. 1. 18:50
728x90
1. SSH 접속 정보 등록
1. Jenkins 관리 - 시스템 설정 이동
2. Publish over SSH 영역으로 이동
3. SSH Server 정보 등록
- 추가 버튼을 눌러서 추가할 SSH Server 정보를 입력
- Remote Directory 는 공용으로 사용하기 위해 HOME 영역 까지만 지정
- 고급 버튼을 클릭
Use password authentication, or use a different key
체크- Path to key 항목에 pem key 절대경로 입력
AWS:/var/jenkins_home/scripts/pem/aws/
TOAST:/var/jenkins_home/scripts/pem/toast/
- 저장 버튼을 클릭해 입력한 SSH Server 정보 저장
2. ITEM에 자동 CI/CD 설정
1. Post Steps 에 step 추가
- Post Steps에서 Add post-build step를 클릭
- Send files or execute commands over SSH step 추가
2. Execute shell 입력
빌드되어 target
에 생성된 jar
파일이름 뒤에 현재일시분초
를 붙인 이름으로 변경
ex) tis-fe-api-0.0.1.jar
-> tis-fe-api-0.0.1_200227145639.jar
FILE_NAME=`ls target/*jar`
CONVERT_FILE_NAME=${FILE_NAME%.*}
FILE_DATE=$(date '+%y%m%d%H%M%S')
mv ${FILE_NAME} ${CONVERT_FILE_NAME}'_'${FILE_DATE}'.jar'
3. Send files or execute commands over SSH 입력
- SSH Server Name에 추가한 SSH Server 선택
- Source files에 전송할 파일 경로 및 파일 입력
- Remove prefix에서 전송할 파일경로 제거(제거하지 않으면 원격지에 target이라는 폴더를 생성하고 그 안에 파일이 생성됨
- SSH Server 에 설정한 HOME 경로이외에
jar
파일을 전송할 경로를 입력 - 자동적용을 위해 별도로 생성한
auto_apply.sh
스크립트 실행명령어를 입력
SpringBoot Application 배포 스크립트 의 auto_apply.sh
스크립트 내용 참조
728x90