🔎 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을 누르고
하고 Create 클릭
GitHub 메뉴에서
Add Github Server를 클릭하고
위와 같이 작성한 후에 Add를 클릭
다음 단계에서는 Github Token을 발급 받는게 필요한데
토크 발급시, repo, admin:org, admin:repo_hook 3개의 권한은 부여해야함.
아래와 같이 Domain과 Kind, Scope를 작성한다.
이후 Add 누르고 Apply 를 꼭 누르고 저장한다.
그 다음 Jenkins 메인으로 들어가서 새로운 Item 클릭후 자신이 원하는 Item name을 적은 후에 Pipeline을 클릭하고 OK를 누른다.
🧑🏻💻 Git repository, 자동빌드 시간설정
Project url에는 자신의 git 레포지토리 URL을 적고 마지막에 .git을 붙여도 되고 안붙여도 된다는데 개인적으로 붙였을 때 오류가 적었다.
다음으로 Build Trigger는
H/60 * * * *로 해야하는데
H가 한 시간이고 /60을 해야 1분으로 설정이 되어서 1분마다 자동빌드를 설정하였다.
repository url에도 주소를 적고 credential을 클릭하면 아까 만든 도커 계정이 나와서 클릭한다. Refspec은 사진과 같이한다.
아래도 사진과 같이 한 다음, Apply를 누르고 저장한다.
그리고 빌드..
Poll SCM에서 시간설정을
H/60 * * * 로 하느냐
H/2 * * *로 하느냐에 따라서 이견이 많이 갈리는데
시행착오를 하면서 1분 마다 변동사항을 확인하고 자동빌드 시키려면
: /1 * * * 이 맞다는 것을 직접 확인하였다.
💡 Jenkins 자동배포 설정 결과
또한, 자동배포를 확인하기 위해서는 자신의 git 레포지토리에서 다른 브랜치를 파서 Pull request를 날리고, merge 하고나서 설정한 시간의 경과를 지켜보면 확인 될 것이다.