ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CI/CD] Jenkins를 활용한 빌드 자동화
    Azure/CICD 2025. 1. 21. 17:31

    Jenkins를 활용한 빌드 자동화

     

    Jenkins를 활용하여 빌드 자동화를 해보자.

     

    *이전 문서 : [CI/CD] Ubuntu 24.04 VM에 Jenkins 설치

     

    GitHub 저장소와 Jenkins 연동 설정

     

    # GitHub Repository에서 Token 발급

     

    Jenkins에서 GitHub 저장소에 접근할 수 있도록 Personal Access Token을 발급한다.

     

    Git hub 로그인 > 오른쪽 내 프로필 Settings > Developer Settings

     

     

    Personal access tokens > Fine grained tokens > Genertate New token

     

    token 발급 후 기록해놓기

     

    Jenkins에서 CI/CD 파이프라인 구성

     

    # Jenkins Credential 생성

     

    Jenkins Credentials는 Jenkins에서 사용되는 인증 정보를 안전하게 관리하기 위한 메커니즘입니다.

    이를 통해 Jenkins에서 사용되는 비밀번호, API 토큰, SSH 키 등의 민감한 정보를 안전하게 저장하고 관리할 수 있습니다.

     

    jenkins 서버에 접속후 jenkins 관리 > Credentials 

    global 클릭

    +Add Credentials 클릭

    username : Github ID

    Password : Github Personal Access Token

    ID : Credentials Name 기재 후 Create

    Credentials 생성 확인

     

    # GitHub Repository Webhooks 설정

     

    Push Event가 일어날 때, Jenkins와 GitHub 저장소를 연동하기 위해 WebHooks를 설정합니다.

     

    + Add Webhook 클릭

     

     

    Jenkins 서버의 URL을 작성하고,

    Content type을 지정한 후

    Add Webhook 버튼을 클릭하여

    Push Trigger Webhook을 추가합니다.

     

    Pipeline 작성

     

    Repository Push Event 발생 시 동작 할 CI/CD의 파이프라인을 작성하기 위해

    Jenkins에서 새로운 Item 추가 버튼을 클릭합니다.

    + 새로운 Item 클릭

    Item 이름 지정, Pipeline 클릭 후 OK

    GitHub project 체크 후, Github Repository URL 입력

    Github hook trigger for GITscm polling 클릭 후 script 작성 후 Save

    pipeline {
        agent any 
        stages {
            stage('Build') { 
                steps {
                    // 
                }
            }
            stage('Test') { 
                steps {
                    // 
                }
            }
            stage('Deploy') { 
                steps {
                    // 
                }
            }
        }
    }

     

    Build가 정상적으로 된 것을 확인


    [참고 문서]

    Jenkins 를 통해 GitHub CI/CD Pipeline 구축하기 - NGINX STORE

     

Designed by Tistory.