Jenkins Pipe Script 설정

이건선·2023년 4월 14일
0

해결

목록 보기
24/48
post-custom-banner

출처 : https://velog.io/@zayson/Jenkins-CICD-1.-GitHub-Repository-Clone하기

📌 Github Access Token 발급 받기

GitHub 오른쪽 상단 프로필을 클릭해 Settings > Developer Settings > Personal Access Tokens > Generate new token 으로 이동한다.

repo, admin:repo_hook 부분을 체크한 후 토큰을 생성한다. ⇒ 추가로 아래 처럼 해줘도 됨

Access Token 값은 생성 시에 한번만 보여주기 때문에 잃어버리지 않도록 잘 저장해둔다. 잃어버리면 다시 생성해야한다.

🪙 Credentials 세팅

Credential Plugin은 젠킨스가 각종 리소스에 접근하기 위한 키, 토큰 등을 저장하고 관리하는 플러그인이다.

젠킨스 서버를 이용해 CI/CD를 이용하기 위해서 GitHub Repository에 접근하기 위한 토큰을 관리한다.

https://velog.velcdn.com/images/zayson/post/0b0a2af9-6cb8-403e-b4ef-11fcc0cc4344/image.png

젠킨스 대시보드에서 젠킨스 관리 > 시스템 설정으로 들어가서 스크롤을 내리다 보면 GitHub 탭이 있다.

https://velog.velcdn.com/images/zayson/post/b77949a5-c27d-4180-b4bc-f2e559358473/image.png

Name 부분과 Credentials부분을 세팅한다.

Credentials 부분을 확인 해보면 GitHub Settings 에서 Personal access token을 생성해야 한다고 작성되어있다.

Access token을 발급 시에 추후 WebHook을 사용하기 위해 “admin:repo_hook”부분과 레포지토리가 private 레포지토리라면 “repo” 부분을 모두 체크해야 젠킨스가 해당 토큰을 가지고 레포지토리에 관련된 것들을 관리할 수있다고 되어있다.

https://velog.velcdn.com/images/zayson/post/d290e720-7ec0-4f73-91f4-1d794700297a/image.png

Add 버튼을 클릭하면 아래와 같이 Credentials를 생성할 수 있는 팝업이 나타난다.

위에 설명을 보면 Crendentials를 Secret Text 형식으로 만들라고 되어있다.

Kind를 Secret Text로 바꿔주고, Secret은 GitHub Setting 에서 발급받은 access token을 복사해서 붙여넣는다. ID는 해당 설정을 구분할 수 있는 이름이므로 알아볼 수 있게 작성해준다.

https://velog.velcdn.com/images/zayson/post/fad4a3ec-d356-429c-821f-fd2de06f911b/image.png

Credentials를 생성했다면 Test Connection을 통해 제대로 연결되었는지 확인이 가능하다.

https://velog.velcdn.com/images/zayson/post/14229a7a-2f01-4405-aef4-a27321b18eb4/image.png

©️ GitHub Repository Clone 하기

Pipeline Syntax를 클릭하면 바로 Snippet Generator 로 이동된다.

해당 텝에서 Sample Step을 Git Clone을 하기위해 git:Git을 선택한다.

Repository URL에 Clone 하고자하는 레포지토리 주소를 붙여넣는다.

Branch는 배포시에 사용할 브랜치를 입력해준다.

레포지토리 주소 붙여넣을 시 .git 주소가 아닌 레포지토리 URL 주소를 붙여넣는다.

https://velog.velcdn.com/images/zayson/post/cfd3d5bb-111c-4ab7-9c70-851b19c0f022/image.png

마지막으로 Credentials를 추가한다. 해당 Credentials은 직전 Crendentials에서 세팅한 것과는 달리 깃허브 계정과 엑세스 토큰으로 생성된 값으로 새로 Credentials를 생성해 사용한다.

Kind는 Username with password로 사용한다 . Username은 Github 계정명 Password는 Access Token 값을 사용한다.

https://velog.velcdn.com/images/zayson/post/d3d1a156-0427-45ff-af55-7c7f9168c40b/image.png

Credentials까지 모두 추가되었다면 Generate Pipeline Script를 이용해서 생성된 Script를 복사한다.

https://velog.velcdn.com/images/zayson/post/1bb43bdb-adcb-4f4f-a47f-b9130c9b50f5/image.png

Pipeline Script를 작성하는 부분으로 돌아와서 복사한 Pipeline Script를 steps 안에 붙여넣은 후 저장한다.

pipeline {
    agent any
    stages {
        stage('GitHub Repository Clone') {
            steps {

            }
        }
    }
}
  1. Pipeline : 하나의 파이프라인을 의미한다.
  2. Stages : stage들을 모아놓은 집합 블록이다.
  3. stage : 전체 파이프라인을 통하여 수행되는 작업의 일부분으로 Build, Test, Deploy 등과 같이 하나의 작업에 대해 정의하는 블록이다.
  4. steps : 하나의 작업을 의미한다. sh [command] 를 이용해 쉘 명령어를 이용해 실제 작업을 수행한다.

https://velog.velcdn.com/images/zayson/post/faf7fcdb-83f6-49e9-a73e-ff0e9ced53aa/image.png

Pipeline이 생성된 것을 확인할 수 있다. 이제 해당 Pipeline으로 들어가서 빌드를 해본다.

https://velog.velcdn.com/images/zayson/post/cde210d6-3260-4cca-8f22-106c9266ce32/image.png

profile
멋지게 기록하자
post-custom-banner

0개의 댓글