Docker를 사용한 Jenkins 자동빌드 설정

우주·2022년 6월 14일
0

Jenkins

목록 보기
1/1
post-thumbnail

🔎 VS CODE 에서 docker login 후, 아래의 명령어로 Jenkins run

docker container run -d -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock jenkins

docker ps 로 확인

docker ps

$ docker logs 컨테이너ID 

하고 중간에 있는 젠킨스 password를 알아낸다.
그리고
http://localhost:8080/ 에 접속해서 젠킨스 비밀번호를 입력하고 다음페이지에서 설치를 기다린다.

Jenkins 플러그인 설치 후 계정등록


Save 클릭 후 아래 메인페이지로 접속

Jenkins관리 > Manage Credential

Add credential을 누르고

  • kind와 Scope는 동일하게,
  • Username : Docker hub ID
  • Password : Docker hub 비번
  • ID : docker-hub
  • Description : 설명인데 사진과 같이 작성

하고 Create 클릭

다시 Jenkins 관리 > 시스템 설정

GitHub 메뉴에서

Add Github Server를 클릭하고

위와 같이 작성한 후에 Add를 클릭

다음 단계에서는 Github Token을 발급 받는게 필요한데
토크 발급시, repo, admin:org, admin:repo_hook 3개의 권한은 부여해야함.


아래와 같이 Domain과 Kind, Scope를 작성한다.

  • Secret : 토큰비밀번호
  • ID : 본인이 만든 식별자
  • Description : 연결했다는 등의 설명을 작성

이후 Add 누르고 Apply 를 꼭 누르고 저장한다.

그 다음 Jenkins 메인으로 들어가서 새로운 Item 클릭후 자신이 원하는 Item name을 적은 후에 Pipeline을 클릭하고 OK를 누른다.

🧑🏻‍💻 Git repository, 자동빌드 시간설정

Project url에는 자신의 git 레포지토리 URL을 적고 마지막에 .git을 붙여도 되고 안붙여도 된다는데 개인적으로 붙였을 때 오류가 적었다.

다음으로 Build Trigger는
H/60 * * * *로 해야하는데
H가 한 시간이고 /60을 해야 1분으로 설정이 되어서 1분마다 자동빌드를 설정하였다.

Pipeline 설정

repository url에도 주소를 적고 credential을 클릭하면 아까 만든 도커 계정이 나와서 클릭한다. Refspec은 사진과 같이한다.

아래도 사진과 같이 한 다음, Apply를 누르고 저장한다.

그리고 빌드..

Poll SCM에서 시간설정을
H/60 * * * 로 하느냐
H/2
* * *로 하느냐에 따라서 이견이 많이 갈리는데
시행착오를 하면서 1분 마다 변동사항을 확인하고 자동빌드 시키려면

poll SCM 설정시

: /1 * * * 이 맞다는 것을 직접 확인하였다.

💡 Jenkins 자동배포 설정 결과

또한, 자동배포를 확인하기 위해서는 자신의 git 레포지토리에서 다른 브랜치를 파서 Pull request를 날리고, merge 하고나서 설정한 시간의 경과를 지켜보면 확인 될 것이다.

profile
개발합니다. 회고합니다.

0개의 댓글