우선, 기본적으로 Jenkins 설정을 할 떄, 로컬환경의 경우 localhost
따라서 ngrok을 활용해서 포트포워딩 했습니다. 참고 부탁드립니다.
1. 우선 Github 계정에서 외부로부터 접근이 가능하게 해주는 Token을 생성해 줍니다.
이 Token을 통해서 Jenkins를 설정을 하게 됩니다.
2. 토큰을 생성할 때 만료시간을 설정해주고, repo , admin:repo_hook 을 체크해줍니다.
성공적으로 생성을하면 아래와 같이 Secret Key가 발급됩니다. 복사를 해서 저장을 해둬야 하며,
생성했을 때 이외에는 해당 Key값을 알수 있는 방법이 없습니다.
3. 이후 Jenkins 페이지에서 로그인을 합니다.
Jenkins 관리 - 시스템 설정 - Jenkins URL ( ngrok )
로컬환경에서는 localhost 경로를 쓰기 떄문에 특정 서버가 아니라면 추가적으로 설정을 해줘야합니다.
저는 Jenkins 주소를 ngrok을 사용해서 포트포워딩을 해서 넣어줬습니다.
그리고 Github Server를 추가적으로 설정해줍니다.
여기서 Credentials 는 추가적으로 등록을 해줘야합니다.
Add 버튼을 통해서 추가를 해줘도 되며
Jenkins 관리 - Manage Credentials 탭으로 들어가서 Credentials 을 추가해도 무방합니다.
그리고 Jenkins Project에 쓰일 Credential을 하나더 추가해줍니다.
* Kind - Secret text , Secret - github에서 발급받은 token key
* Kind - Username with password , Username - github 계정 profile의 name으로 설정,
password - github 계정 비밀번호 , ID - 구분자
4. 플러그인 설치
Jenkins - Dashboard - Jenkin 관리 - 플러그인 관리 탭으로 들어가서 'Github Integration Plugin' 의 설치 유무를
확인해줘야 합니다.
5. 프로젝트 추가하기.
새로운 Item 생성 - FreeStyle project를 클릭합니다.
6. 소스코드 관리 - Git 클릭, URL 및 Credential 설정추가.
URL은 사용될 Github Repository 경로를 입력합니다.
여기서 Credential은 'Username with Password' 로 생성한 Credential이 사용됩니다.
7. 빌드유발 - Github hook trigger for GITScm polling 체크
8. Github - Project - Settings - Webhook 확인
Jenkins에서 Github Integration Plugin 을 설치해두면 Jenkins 프로젝트를 생성했을 시
설정해둔 Github Repository에 Webhook이 자동으로 추가가 됩니다.
자동으로 추가되는 부분은 거의 정확한 정보는 아니지만 다른 Repository를 생성해서 테스트 해본 결과
Webhook 에 자동으로 추가가 되었었습니다.
Jenkin 프로젝트를 저장하고 난 후에 Webhook이 하나 더 추가된 모습입니다.
9. 프로젝트 Commit - Push 진행을 하면 자동으로 Jenkins가 빌드를 합니다.
'DevOps' 카테고리의 다른 글
MSA (0) | 2022.04.08 |
---|---|
docker ) table is not exist.. (0) | 2021.07.12 |
Docker) Host 'ip' is not allowed to connect to this MySQL Server (0) | 2021.07.10 |
Docker Network 명령어 (0) | 2021.07.10 |
Shell 에서 Docker 명령어 정리 (0) | 2021.07.06 |