젠킨스에 로그인 -> 배포하고자 하는 프로젝트를 찾기 -> 빌드 하기. 이러한 일련의 과정이 너무나 귀찮았다. 푸시하고 인터넷을 켜야 하는 게 말이 되는가?
IDE에서 작업을 마무리하고 어떻게 명령어하나로 위의 과정을 스킵할 수 있을까 하고 보니, 두 가지 방법을 찾을 수 있었다.
- GitLab에 Push가 되면 webhook을 통해 빌드를 유발
- 원격 스크립트를 활용하여 잦은 Push를 통한 빌드를 피하고자 명령어를 통해 원할 때 빌드하는 것
두 가지의 방법 모두 간단히 설정할 수 있다.
1. GitLab Push시 Jenkins 빌드
젠킨스 접속 -> 프로젝트 -> 구성에 들어간다.
고급 버튼 클릭 후, 시크릿 토큰을 발급 받는다.
토큰을 받으면 GitLab 프로젝트 Settings의 Integrations로 들어간다.
젠킨스 URL와 Token을 입력하고 Push Events에 체크
그리고 Add webhook을 누른 후 테스트를 통해 HTTP 200 값이 오는지 확인한다
이제 git push 하면 젠킨스에서 빌드가 유발된다.
2. 원격 스크립트 사용
젠킨스에 접속하지 않는 것만으로도 너무나 편했다.
그러나 push를 할 때마다 빌드가 너무 잦으니, 푸시 이후에 수정사항이 생겼을 때 이전의 빌드를 멈추거나 기다려야 하는 번거로운 상황이 발생했다.
내가 원할 때 젠킨스의 빌드를 유발하는 방법이 있지 않을까 찾아보니 원격 스크립트를 활용할 수 있었다.
친절히 하단 문구에 어떻게 빌드를 유발할 수 있는지도 안내가 되어있다.
다음 URL을 사용하여 원격 빌드 유발: JENKINS_URL/job/somedaycode/build?token=TOKEN_NAME or /buildWithParameters?token=TOKEN_NAME
참고하여 shell script를 만들어 사용해보자
해당 스크립트를 실행하면 빌드가 유발된다.
쉘 스크립트를 실행했을 때 SSL 인증서와 관련된 문제가 발생해서 다음 링크를 통해 해결했다.
'개발 > Today I Learned' 카테고리의 다른 글
Jest에서 window 객체 접근하기 (0) | 2022.04.26 |
---|---|
mouseover와 :hover - 중첩된 컴포넌트 내부에서 하나의 컴포넌트만 배경색을 바꿀 수 있을까? (0) | 2022.04.10 |
TypeScript: NestedKeysType 만들어 사용하기 (0) | 2022.04.09 |
husky와 commitlint를 사용하여 commit 규칙을 지키며 협업하기 (0) | 2022.03.31 |
cypress e2e 테스트 - Failed to connect to Chrome, retrying in 1 second 문제 해결 (0) | 2022.03.18 |