Skip to content

Commit

Permalink
Merge pull request #46 from f-lab-edu/infra/39
Browse files Browse the repository at this point in the history
[#39] 마이크로서비스 별 빌드 스크립트 구분
  • Loading branch information
hyeok-kong authored Jul 2, 2024
2 parents 99b85b7 + 000282d commit 4e15fa7
Show file tree
Hide file tree
Showing 4 changed files with 220 additions and 0 deletions.
52 changes: 52 additions & 0 deletions jenkins/api-gateway
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
pipeline {
agent any

stages {
stage('Git Clone') {
steps {
git branch: 'main', url: 'https://github.com/f-lab-edu/music-everywhere.git'
}
}

stage('Prepare Config') {
steps {
script {
withCredentials([file(credentialsId: 'api-gateway-setting', variable: 'API_GATEWAY_SETTING')]) {
sh '''
mkdir -p api-gateway/src/main/resources
cp $API_GATEWAY_SETTING api-gateway/src/main/resources/application.yml
'''
}
}
}
}

stage('Set Permissions') {
steps {
dir('api-gateway/src/main/resources') {
sh 'chmod +rw application.yml'
}
dir('api-gateway') {
sh 'chmod +x gradlew'
}
}
}
stage('Service Build') {
steps {
dir('api-gateway') {
sh './gradlew clean build'
}
}
}
}

post {
success {
echo 'Build succeeded.'
}
failure {
echo 'Build failed.'
}
}

}
54 changes: 54 additions & 0 deletions jenkins/eureka-discovery
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
pipeline {
agent any

stages {
stage('Git Clone') {
steps {
git branch: 'main', url: 'https://github.com/f-lab-edu/music-everywhere.git'
}
}

stage('Prepare Config') {
steps {
script {
// Jenkins Credentials에서 파일을 워크스페이스로 복사
withCredentials([file(credentialsId: 'discovery-setting', variable: 'DISCOVERY_SETTING')]) {
sh '''
mkdir -p eureka-discovery/src/main/resources
cp $DISCOVERY_SETTING eureka-discovery/src/main/resources/application.yml
'''
}
}
}
}

stage('Set Permissions') {
steps {
dir('eureka-discovery/src/main/resources') {
sh 'chmod +rw application.yml'
}
dir('eureka-discovery') {
sh 'chmod +x gradlew'
}
}
}

stage('Service Build') {
steps {
dir('eureka-discovery') {
sh './gradlew clean build'
}
}
}
}

post {
success {
echo 'Build succeeded.'
}
failure {
echo 'Build failed.'
}
}

}
60 changes: 60 additions & 0 deletions jenkins/group-service
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
pipeline {
agent any

stages {
stage('Git Clone') {
steps {
git branch: 'main', url: 'https://github.com/f-lab-edu/music-everywhere.git'
}
}

stage('Prepare Config') {
steps {
script {
// Jenkins Credentials에서 파일을 워크스페이스로 복사
withCredentials([file(credentialsId: 'music-everywhere-db', variable: 'DB_CONFIG_PATH'),
file(credentialsId: 'music-everywhere-redis', variable: 'REDIS_CONFIG_PATH'),
file(credentialsId: 'group-service-test', variable: 'GS_TEST')]) {
sh '''
mkdir -p group-service/src/main/resources
mkdir -p group-service/src/test/resources
cp $DB_CONFIG_PATH group-service/src/main/resources/application-db.yml
cp $REDIS_CONFIG_PATH group-service/src/main/resources/application-redis.yml
cp $GS_TEST group-service/src/test/resources/application.properties
'''
}
}
}
}

stage('Set Permissions') {
steps {
dir('group-service') {
// gradlew 파일에 실행 권한 부여
sh 'chmod +x gradlew'
// sh 'chmod +r application-db.yml'
// sh 'chmod +r application-redis.yml'
}
}
}

stage('Group Service Build') {
steps {
dir('group-service') {
// Gradle 빌드 명령어 실행
sh './gradlew clean build'
}
}
}
}

post {
success {
echo 'Build succeeded.'
}
failure {
echo 'Build failed.'
}
}

}
54 changes: 54 additions & 0 deletions jenkins/user-service
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
pipeline {
agent any

stages {
stage('Git Clone') {
steps {
git branch: 'main', url: 'https://github.com/f-lab-edu/music-everywhere.git'
}
}

stage('Prepare Config') {
steps {
script {
// Jenkins Credentials에서 파일을 워크스페이스로 복사
withCredentials([file(credentialsId: 'music-everywhere-db', variable: 'DB_CONFIG_PATH')]) {
sh '''
mkdir -p user-service/src/main/resources
cp $DB_CONFIG_PATH user-service/src/main/resources/application-db.yml
'''
}
}
}
}

stage('Set Permissions') {
steps {
dir('user-service/src/main/resources') {
sh 'chmod +rw application-db.yml'
}
dir('user-service') {
sh 'chmod +x gradlew'
}
}
}

stage('Service Build') {
steps {
dir('user-service') {
sh './gradlew clean build'
}
}
}
}

post {
success {
echo 'Build succeeded.'
}
failure {
echo 'Build failed.'
}
}

}

0 comments on commit 4e15fa7

Please sign in to comment.