CI/CD 구축하기 (1)

LaStella·2023년 4월 4일
0

CI/CD 구축하기

목록 보기
1/3

젠키스 설치 및 파이프라인 만들기

젠킨스를 설치하고 실행합니다.

Jenkins 관리 > Manage Credentials > global > Add Credentials

Username : GitHub계정명
Password : GitHub계정토큰
ID : 현재 생성하는 Credential ID(원하는 이름을 사용하면 됩니다. 저는 github_access_token으로 하였습니다.)

GitHub 토큰 생성

Settings > Developer settings > Personal access tokens
토큰은 최초 생성시에만 확인할 수 있으므로 저장해두어야합니다.

ngrok

ngrok를 설치합니다.

ngrok에 회원가입하여 인증토큰을 받아 등록합니다.

현재 젠킨스의 실행중인 주소는 http://localhost:8080/ 입니다.
웹훅을 로컬에서 구동되는 젠킨스로 보내주기 위해서 외부에서 접근가능한 주소가 필요합니다.
8080포트에 ngrok을 실행하여 외부에서 접근 가능한 주소를 생성합니다.

레포지터리 웹훅 설정

웹훅을 설정하려는 레포지터리의 Settings > Webhooks 에서 Add webhook을 누릅니다.
PayloadURL에 위에서 생성한 젠킨스의 주소를 넣습니다.
url의 마지막에 /github-webhook/을 붙여줍니다.

젠킨스 파이프라인 생성

대쉬보드에서 새로운 Item을 누르고 원하는 이름의 파이프라인을 생성합니다.

GitHub project를 체크하고 웹훅을 보내는 레포지터리의 url를 입력합니다.
GitHub hook trigger for GITScm polling 를 체크합니다.
아래의 Declarative 방식으로 작성된 Pipeline 스크립트를 붙여넣습니다.

  • GitHub에서 클론하게되는 레포지터리의 주소와 브랜치명을 입력합니다.
  • 위에서 만든 Credential의 ID를 추가합니다. (저는 github_access_token입니다.)
pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                git branch: 'main',
                    credentialsId: 'github_access_token',
                    url: 'https://github.com/LaStella/practice-cicd.git'
            }
        }
    }
}

지금 빌드를 눌러 최초 빌드를 수행하고 정상적으로 작동하는지 확인합니다.
저는 레포지터리를 Private로 설정하여 오류가 발생하였습니다. 이후 Public으로 수정하여 해결하였습니다.
최초 빌드가 성공했다면 웹훅을 보내는 레포지터리에 새로운 커밋을 작성하여 확인합니다.

profile
개발자가 되어가는 중...

0개의 댓글