기록/CI&CD

[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (5) jenkins 컨테이너 내부에 docker 설치 및 Webhook 설정

5월._. 2022. 8. 17.
728x90

[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (5) jenkins 컨테이너 내부에 docker 설치 및 Webhook 설정

1. jenkins 컨테이너 내부에 docker 설치

1) sudo, vi, wget 설치

# 컨테이너 접속
docker exec -it jenkins bash
apt update
apt install vim
apt install sudo
apt install wget

2) docker 설치

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
sudo wget -qO- <https://get.docker.com/> | sh
sudo systemctl start docker
sudo systemctl enable docker

3) docker.sock 권한변경

sudo chmod 666 /var/run/docker.sock

 

2. jenkins 아이템 생성

1) new Item > pipeline을 선택한다.

2) Build Triggers 탭

“Build when a change is pushed to GitLab. GitLab webhook”을 선택한다. 여기서 맨 끝 url을 복사해놓는다.

[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (5) jenkins 컨테이너 내부에 docker 설치 및 Webhook 설정 - 2. jenkins 아이템 생성 - 2) Build Triggers 탭

고급버튼을 눌러서 아래의 Generate를 클릭한다. 생성된 Secret token을 복사한다.

[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (5) jenkins 컨테이너 내부에 docker 설치 및 Webhook 설정 - 2. jenkins 아이템 생성 - 2) Build Triggers 탭

3) Pipeline 탭

Pipeline script from SCM을 선택한다.

Repository URL을 작성하고, gitlab의 Credential을 선택한다. Branches to build에 빌드하고싶은 타겟브랜치를 설정한다.

Script Path에 JenkinsFile을 적는다. git repository 최상단에 JenkinsFile이 있어야 한다.

[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (5) jenkins 컨테이너 내부에 docker 설치 및 Webhook 설정 - 2. jenkins 아이템 생성 - 3) Pipeline 탭[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (5) jenkins 컨테이너 내부에 docker 설치 및 Webhook 설정 - 2. jenkins 아이템 생성 - 3) Pipeline 탭

3. git repository와 webhook 연결

2.의 2)에서 저장한 url과 secert token을 붙여넣는다.

push event를 선택한다. 아래에 브랜치이름을 입력하면 그 브랜치에서 발생한 push event만 빌드가 시작된다. 7-6에서 정한 브랜치와 맞추는 것이 좋다. 아무것도 쓰지 않는다면 모든 브랜치의 push event마다 빌드하게 된다.

[AWS] 같은 브랜치에 있는 프론트엔드, 백엔드 자동배포하기 (5) jenkins 컨테이너 내부에 docker 설치 및 Webhook 설정 - 2. jenkins 아이템 생성 - 3. git repository와 webhook 연결

댓글