Pipeline 프로젝트 생성
사전 작업 : Git Token 발급 및 등록
- Jenkins 관리로 들어가 하단의 Credentials 클릭
- 적절한 권한 설정 및 생성
- Repo 접근 위해서는 UserName With Password를 선택
- Secret text를 선택하게 되면 Repo에 접근 불가.
- Github AccessToken → Read, Write 권한 Repo
Item 생성
- GitHub Project를 선택 후 해당 Repo 주소를 입력
- Gitlab 사용 시 → Gitlab PlugIn 설치 후 해당 설정 사용
- Pipeline 위치 명시
- Git Repo 주소 및 이전에 등록한 Credentials Token 선택
- Git 기준으로 Jenkins File 위치
PIPELINE 구축
- 간단한 예시 코드
- 필요한 작업이 다수 빠져있음. 자신의 프로젝트에 맞게 수정하여 사용해야함.
- 흐름 전달을 위해 간단하게 작성한 Test Code 임
- 문법의 경우 아래 포스팅 참고
1. Jenkins 란? (Freestyle Project vs Pipeline Project)
pipeline {
agent any
stages {
// Stage 1: Git Clone
stage('Git Clone') {
steps {
script {
git branch: 'master',
url: 'https://{repo URL}', // Replace with actual repo URL
credentialsId: '****' // Git Credential ID, replace with actual credential ID
}
}
post {
success {
echo "Successfully Cloned Repository"
}
failure {
echo "Failed to Clone Repository"
}
}
}
// Stage 2: SonarQube Analysis
stage('SonarQube analysis') {
steps {
withSonarQubeEnv('SonarQube Server') {
dir('demo') {
sh 'chmod +x gradlew'
sh './gradlew wrapper --gradle-version=8.5'
sh './gradlew clean build sonarqube --warning-mode all'
}
}
}
}
// Stage 3: Build Server
stage('Build server') {
steps {
dir('/var/jenkins_home/workspace/test/demo/') {
sh 'chmod +x gradlew'
sh './gradlew clean build'
sh 'cp ./build/libs/demo-0.0.1-SNAPSHOT.jar /var/jenkins_home/workspace/dockerbuildfile/server/demo-0.0.1-SNAPSHOT.jar'
}
}
}
// Stage 4: Run Docker Compose
stage('Run Docker Compose') {
steps {
sh 'docker-compose -f /var/jenkins_home/workspace/dockerbuildfile/docker-compose.yml down'
sh 'docker rmi image dockerbuildfile-front:latest || true'
sh 'docker rmi image dockerbuildfile-demo-app:latest || true'
sh 'docker-compose -f /var/jenkins_home/workspace/dockerbuildfile/docker-compose.yml up -d --build'
}
}
}
}
'Infra > Jenkins' 카테고리의 다른 글
2. Jenkins 설치 (0) | 2024.02.04 |
---|---|
1. Jenkins 란? (Freestyle Project vs Pipeline Project) (0) | 2024.02.02 |