관리 메뉴

bright jazz music

젠킨스 트리거 설정 본문

OS 및 기타

젠킨스 트리거 설정

bright jazz music 2023. 9. 18. 14:21
1. 깃랩 access 토큰 발행
 	- 깃랩 로그인 후 settings, access token 메뉴에서 API 스코프 선택 후 토큰 발행
 	- 이 때의 setting은 repository의 settings가 아니라 로그인한 자신에 대한 setting임.


2. 젠킨스
	2.1. 깃랩에서 생성한 access token을 사용하여 credential 생성
		- dashboard > manage jenkins > credentials 이동
 		- credential 생성: 'gitlab api token'	선택. 그리고 gitlab에서 생성한 access token 입력

	2.2. 깃랩 연결 시의 설정 등록
		- gitlab plugin설치 후 gitlab connection 항목 설정
		- dashboard > manage jenkins > system
		- gitlab 항목 찾아서 connection name, gitlab host url, credentials 입력
		- credentials의 경우에는 이전 단계에서 gitlab api token으로 생성한 credential 선택

	2.3. 트리거 시킬 job 생성 후 설정
		2.3.1. job 생성
			- 트리거 할 job(item) 생성: 여기서는 pipeline으로 생성한다.
			- 설정(configuration) 메뉴 진입.

		2.3.2. 설정 메뉴에서 gitlab connection 설정
			- gitlab connection에서 방금 설정한 gitlab connection 선택
			- use alternative credential에 체크 후 이전에 만들어 놨던 gitlab api token 선택

		2.3.3. 설정 메뉴에서 trigger 기본 설정
			- trigger 설정 후 secret 토큰 생성
			- 설정 메뉴에서 build trigger 메뉴 찾기.
			-Build when a change is pushed to GitLab. 체크.
			- 이 때 옆에 표시 되는 GitLab webhook URL 기억. 추후 깃랩 웹훅에 동일하게 등록해야 함.
		 다음의 하위 체크박스 체크: Push Events, Opened Merge Request Events, Approved Merge Requests (EE-only), Comments

		2.3.4. 설정 메뉴에서 secret token 생성
			설정 메뉴의 build trigger 항목의 하위 항목 탐색
			Comment (regex) for triggering a build 항목 밑의 '고급' 버튼 클릭
			- secret token 항목 근처의 generate 버튼을 눌러 토큰 생성

		2.3.5. Pipeline 항목 작성(웹훅 사용 또는 직접 빌드 시 실행할 작업 작성)
			설정 메뉴에서 아래로 더 내려가서 Pipeline 항목 작성.
			pipeline script from scm 선택
			소스를 받아올 repository 정보를 입력하고
			그 때 사용할 credential을 설정.


[저장]



3. 깃랩
웹 훅을 생성하려는 repository로 이동.
settings의 integration 항목 선택.
	- 방금 젠킨스에서 생성된 GitLab webhook URL과 Secret Token을 넣어줌.
	- 다음의 체크박스 체크: Push events, Enable SSL verification
	- Add webhook을 눌러 웹훅을 생성하고 테스트 (예: push events)


* 모든 항목마다 저장 또는 적용을 눌러 설정을 저장하는 것을 잊지 말 것
* 젠킨스 로그는 sudo docker logs -f jenkins 명령어로 확인 가능(젠킨스 인스턴스는 도커 컨테이너로 구동하므로)
* pipeline에서 사용하는 credential은 리포지토리의 소스에 접근할 수 있는 credential을 선택해야 한다. 
(Gitlab api token을 사용한 연결과는 용도가 다르다. Gitlab api token을 사용한 credential 오로지 연결만 담당한다. 소스 접근은 또 다른 credential이 필요하다.)

'OS 및 기타' 카테고리의 다른 글

Jenkinsfile  (0) 2023.09.21
백업 스크립트  (0) 2023.09.21
Nginx 설정 (리액트 index.html)  (0) 2023.05.03
우분투 mariadb 설치  (0) 2023.04.08
디스크 포맷 diskpart  (0) 2023.03.24
Comments