운영체제 이야기/Linux(CentOS)

[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편

한희성 2021. 4. 20.
반응형

1. 원격지 배포를 위한 SSH Server 설정

Jenkins 관리 -> 시스템 설정

[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 1. 원격지 배포를 위한 SSH Server 설정

 

한참 아래로 내려오다 보면 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 설정

설정을 끝냈다면 저장을 누르고 해당 프로젝트의 구성 메뉴로 다시 돌아오자

 

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 설정
콘솔 확인

3. Build

[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 3. Build
[CentOS7] jenkins 설치 및 gitlab 연동, 빌드 및 원격지 배포 - 3편 - 3. Build

 

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일이 지난 파일은 자동 삭제

deploy.sh
0.00MB
deploy_210526.sh
0.00MB

반응형

댓글