1. 원격지 배포를 위한 SSH Server 설정
Jenkins 관리 -> 시스템 설정
![[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 1. 원격지 배포를 위한 SSH Server 설정 [CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 1. 원격지 배포를 위한 SSH Server 설정](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
한참 아래로 내려오다 보면 Publish over SSH 항목이 있다.
SSH Servers 부부만 채우면 되므로 아래와 같이 설정한다.
Name : Jenkins 화면에 표기할 식별자
Hostname : ip 또는 domain
Username : 서버 접근 계정(추후 이 계정으로 쉘 스크립트가 실행된다.)
Remote Directory : 원격지 서버의 배포 해야할 위치의 루트 디렉터리를 넣어준다.
Use password authentication, or use a different key 체크 후 Passphrase / Password 부분의 비밀번호를 넣어준다.
Port : SSH 접근 포트 (외부에서 접근하는 포트는 60000으로 설정 해두어서 60000으로 설정)
![[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 1. 원격지 배포를 위한 SSH Server 설정 [CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 1. 원격지 배포를 위한 SSH Server 설정](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
설정을 끝냈다면 저장을 누르고 해당 프로젝트의 구성 메뉴로 다시 돌아오자
2. 원격지 배포를 위한 SSH Server 설정
빌드 환경 부분의 아래와 같이 설정(빌드 후 jar 파일 서버로 전송)
Name : 1번에서 설정한 서버 정보 클릭
Source files : jenkins 에서 빌드 후 어떤 파일을 전송할것인지 경로 설정
Remove prefix : jar 파일만 전송하고 나머지 모두 삭제
Remote directory : 1번에서 설정한 루트 디렉터리 부터 시작되는 경로 작성/ 전송 된 파일이 떨어지는 위치이다.
Exec command : 파일 전송 후 실행 시킬 쉘 스크립트 경로 지정
build/libs/*.jar
build/libs
/off-admin-api/
/home/offline_was/off-admin-api/deploy.sh
![[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 2. 원격지 배포를 위한 SSH Server 설정 [CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 2. 원격지 배포를 위한 SSH Server 설정](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
![[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 2. 원격지 배포를 위한 SSH Server 설정 [CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 2. 원격지 배포를 위한 SSH Server 설정](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
3. Build
![[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 3. Build [CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 3. Build](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
![[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 3. Build [CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 3. Build](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
4. 서버에서 실행시킬 쉘 스크립트
(출처)쉘 옵션 : lxstitch.tistory.com/65
쉘 스크립트 if문 옵션
쉘 스크립트 if문 옵션 및 사용 법 -b 파일 : 파일이 블럭 장치 파일이면 참 -c 파일 : 파일이 문자 장치 파일이면 참 -d 파일 : 파일이 디렉토리이면 참 -e 파일 : 파일이 존재하면 참 -f 파일 : 파일이...
lxstitch.tistory.com
쉘 흐름은 아래와 같다
1. 쉘을 실행하는 유저 검사
2. 프로젝트 폴더로 이동
3. 기존 실행중인 jar 파일 찾기 및 백업
4. 젠킨스에서 배포서버로 전송된 폴더로 이동
5. jar 이름 찾기 및 실제 빌드를 수행하는 폴더로 복사
6. 서비스중인 포트 찾기
7. 현재 서비스 중인 포트가 없다면 jar 실행
8. 서비스중인 포트가 있다면 kill 후 jar 실행
9. 로그 생성 및 권한 조정
아래 쉘 버전은 계속 업데이트 될 것
210507 / v1
210526 / v2 -> 백업 파일 7일이 지난 파일은 자동 삭제
'운영체제 이야기 > Linux(CentOS)' 카테고리의 다른 글
[CentOS7] sh 쉘 if 문 옵션 (0) | 2021.04.21 |
---|---|
[CentOS7] sh 쉘 내부에서 특정 사용자 권한으로 명령어 실행 (0) | 2021.04.21 |
[CentOS7] mysql8.x Community server 설치하기 (0) | 2021.04.08 |
[CentOS7] tcp dump (0) | 2021.03.16 |
[CentOS7] centos7 에서 공인 IP 알아내기 (0) | 2021.03.16 |
댓글