젠킨스 메모리 이슈로 서버가 죽는 현상이 생겨 서비스를 배포할 서버, 젠킨스 서버를 분리하기로 했다.
1. 도커파일 생성 - 젠킨스 서버 빌드
: 원하는 위치에 docker-compose-jenkins.conf.yml 파일을 생성한다.
# docker-compose 서비스 버전
version: "3.8"
services:
jenkins:
container_name: jenkins
image: jenkins/jenkins:lts
ports:
- 8088:8080
environment:
TZ: "Asia/Seoul"
volumes:
- /home/jenkins/jenkins_home:/var/jenkins_home
2. docker compose -f docker-compose-jenkins.conf.yml up -d --build 실행
3. 젠킨스에서 아래 플러그인을 설치한다.
- Publish Over SSH
- SSH2 Easy Plugin
4. Jenkins 관리 들어가서
5. 원격서버 정보를 입력한다.
Hostname: 원격 서버 주소
Username: 원격 서버 접속 계정 id
Remote Directory: 연결할 원격 서버 디렉토리
Password: 원격 서버 접속 password
6. Item 생성 - Freestyle project 로 생성
7. 깃허브 연결
8. Build Steps > Send files or execute commands over SSH (원격 서버에 파일 복제, 커멘드 사용)
: 깃허브로 프로젝트를 다운로드 받은 후 원격서버에 파일을 복제한다.
(사진에서 보이는 **/* 는 remote directory 의 전체 폴더와 파일을 복제)
Source files : 복제할 소스 파일 **/* >> 원격 서버에 전체 파일 복제
Remote directory : 복제할 원격 서버 디렉토리 위치
Exec command : 원격 서버 커맨드 스크립트
9. 쉘스크립트 파일 실행 - 도커파일 실행 sh 실행
: 원격서버에 소스 복제 후 원격 서버 실행에 사용할 쉘스크립트 파일을 실행해준다.(경로는 원격서버 기준)
cd /data/backend/config/docker
chmod +x blue-green.sh
./blue-green.sh
반응형
'🐳 Docker' 카테고리의 다른 글
자주 사용하는 도커 명령어(업데이트 2023) - create 부터 prune까지 (0) | 2023.08.24 |
---|