기록/CI&CD

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

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

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을 복사해놓는다.

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

3) Pipeline 탭

Pipeline script from SCM을 선택한다.

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

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

3. git repository와 webhook 연결

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

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

댓글