IT/CI_CD

젠킨스 환경변수 설정하는 방법

binary? 2024. 9. 29. 11:40
728x90

젠킨스 환경변수 설정하는 방법

 

기존에는 AWS에서 gitbash파일에서 아래처럼 환경변수를 세팅했었습니다.

이번에 젠킨스와 도커를 도입하면서 아래 환경변수가 적용이 되지 않더라구요.

그래서 알아보니 젠킨스에서 이미지 할때 환경변수를 집어넣는 방식으로 적용할 수 있더라구요. 아래에 그 방법을 정리해보겠습니다.

Jenkins 관리 - Credentials 클릭

Credentials - global 클릭

Add Credentials 클릭

아래처럼 세팅해주면 됩니다.

  • Kind: Secret text
  • Scope: Global
  • Secret: 변수 값
  • ID: 변수 명칭
  • Description: 아무거나 설명

Create 클릭

아래처럼 생성된 것을 확인할 수 있습니다.

이후에 파이프라인에서 환경변수를 세팅해주며 됩니다.

상단에 enviroment { } 에서 위에서 설정한 변수 값 설정합니다.

하단에 dockerImage.run {} 내부에 변수 값 세팅해주면 됩니다.

 
pipeline {
    agent any
    environment {
        KAKAO_CLIENT_ID = credentials('KAKAO_CLIENT_ID')
        KAKAO_CLIENT_SECRET = credentials('KAKAO_CLIENT_SECRET')
        KAKAO_REDIRECT_URI = credentials('KAKAO_REDIRECT_URI')
    }
    stages {
        stage('Clone Repository') {
            steps {
                git credentialsId: 'github_binary', url: 'https://github.com/ljs14741/bitcoin.git'
            }
        }
        stage('Grant Permissions') {
            steps {
                sh 'chmod +x ./gradlew'
            }
        }
        stage('Build WAR') {
            steps {
                sh './gradlew clean build'  // WAR 파일 빌드
            }
        }
        stage('Cleanup Old Container') {
            steps {
                script {
                    // 기존 컨테이너 중지 및 삭제
                    sh "docker stop bitcoin-app || true"  // 컨테이너가 없으면 무시
                    sh "docker rm bitcoin-app || true"    // 삭제
                }
            }
        }
        stage('Build Docker Image') {
            steps {
                script {
                    dockerImage = docker.build("bitcoin")
                }
            }
        }
        stage('Run Docker Container') {
            steps {
                script {
                    dockerImage.run("-p 8080:8080 --name bitcoin-app -e KAKAO_CLIENT_ID=${env.KAKAO_CLIENT_ID} -e KAKAO_CLIENT_SECRET=${env.KAKAO_CLIENT_SECRET} -e KAKAO_REDIRECT_URI=${env.KAKAO_REDIRECT_URI}")
                }
            }
        }
        stage('Cleanup Old Images') {
            steps {
                script {
                    // 사용하지 않는 Docker 이미지 정리
                    sh "docker image prune -f"
                }
            }
        }
    }
}

Jenkins에서 환경변수 설정하는 법을 알아보았습니다.

생각보다 간단하네요~ 감사합니다~

728x90

'IT > CI_CD' 카테고리의 다른 글

AWS EC2 Potainer 설치  (3) 2024.10.01
AWS EC2 젠킨스, 도커로 배포 자동화하기  (6) 2024.09.27
AWS EC2 ubuntu 젠킨스 설치  (2) 2024.09.23
jenkins 젠킨스 다운로드하는 방법  (2) 2024.05.23