jenkins 패치 분리

This commit is contained in:
2025-08-27 18:38:59 +09:00
parent 492394d3a0
commit d75c259350
9 changed files with 280 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ pipeline {
stage('Gradle Build') {
steps {
script {
sh 'cp /var/lib/jenkins/workspace/Trunk-Admintool-Dev-BackEnd/gradlew /var/lib/jenkins/workspace/Product-Admintool-Live-BackEnd-Full/gradlew'
sh 'chmod +x gradlew' //gradle 권한 설정
sh './gradlew clean build -x test -Pprofile=live' //빌드 test는 하지않는다
}

76
Jenkinsfile.live.metadata Normal file
View File

@@ -0,0 +1,76 @@
pipeline {
agent any
environment {
META_FOLDER = 'metadata/**'
REMOTE_META_FOLDER = 'admintool'
}
stages {
stage('MetaData Checkout'){
steps{
checkout([$class: 'SubversionSCM',
additionalCredentials: [],
excludedCommitMessages: '',
excludedRegions: '',
excludedRevprop: '',
excludedUsers: '',
filterChangelog: false,
ignoreDirPropChanges: false,
includedRegions: '',
locations: [
[
cancelProcessOnExternalsFail: true,
credentialsId: 'jenkins-build',
depthOption: 'infinity',
ignoreExternalsOption: true,
local: 'metadata',
remote: 'svn://10.20.20.9/branches/Product/DataAssets/MS2/JSON@HEAD'
]
],
quietOperation: true,
workspaceUpdater: [$class: 'UpdateUpdater']
])
}
}
stage('SSH Tunneling Start') {
steps {
script {
sh 'rm -rf ${WORKSPACE}/metadata/.svn'
sh 'rm -rf ${WORKSPACE}/metadata/QuestScript'
sh '/home/admintool/ssh-tunneling-live.sh start'
}
}
}
stage('Transfer MeataData'){
steps{
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'live-backend',
transfers: [
sshTransfer(
sourceFiles: "${META_FOLDER}",
remoteDirectory: "${REMOTE_META_FOLDER}",
execCommand: """
echo 'metadata Transfer Complete'
""",
execTimeout: 120000
)
],
usePromotionTimestamp: false,
verbose: true
)
]
)
}
}
stage('SSH Tunneling Stop') {
steps {
script {
sh '/home/admintool/ssh-tunneling-live.sh stop; /home/admintool/ssh-tunneling-live.sh status'
}
}
}
}
}

View File

@@ -17,6 +17,7 @@ pipeline {
stage('Gradle Build') {
steps {
script {
sh 'cp /var/lib/jenkins/workspace/Trunk-Admintool-Dev-BackEnd/gradlew /var/lib/jenkins/workspace/Product-Admintool-Live-BackEnd/gradlew'
sh 'chmod +x gradlew' //gradle 권한 설정
sh './gradlew clean build -x test -Pprofile=live' //빌드 test는 하지않는다
}

View File

@@ -17,6 +17,7 @@ pipeline {
stage('Gradle Build') {
steps {
script {
sh 'cp /var/lib/jenkins/workspace/Trunk-Admintool-Dev-BackEnd/gradlew /var/lib/jenkins/workspace/Stable-Admintool-QA-BackEnd-Full/gradlew'
sh 'chmod +x gradlew' //gradle 권한 설정
sh './gradlew clean build -x test -Pprofile=qa' //빌드 test는 하지않는다
}

99
Jenkinsfile.qa.metadata Normal file
View File

@@ -0,0 +1,99 @@
pipeline {
agent any
environment {
META_FOLDER = 'metadata/**'
REMOTE_META_FOLDER = 'admintool'
DOCKER_NAME = 'admintool-back-qa'
}
stages {
stage('MetaData Checkout'){
steps{
checkout([$class: 'SubversionSCM',
additionalCredentials: [],
excludedCommitMessages: '',
excludedRegions: '',
excludedRevprop: '',
excludedUsers: '',
filterChangelog: false,
ignoreDirPropChanges: false,
includedRegions: '',
locations: [
[
cancelProcessOnExternalsFail: true,
credentialsId: 'jenkins-build',
depthOption: 'infinity',
ignoreExternalsOption: true,
local: 'metadata',
remote: 'svn://10.20.20.9/branches/Stable/DataAssets/MS2/JSON@HEAD'
]
],
quietOperation: true,
workspaceUpdater: [$class: 'UpdateUpdater']
])
}
}
stage('SSH Tunneling Start') {
steps {
script {
sh 'rm -rf ${WORKSPACE}/metadata/.svn'
sh 'rm -rf ${WORKSPACE}/metadata/QuestScript'
sh '/home/admintool/ssh-tunneling-qa.sh start'
}
}
}
stage('Transfer MeataData'){
steps{
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'qa-backend',
transfers: [
sshTransfer(
sourceFiles: "${META_FOLDER}",
remoteDirectory: "${REMOTE_META_FOLDER}",
execCommand: """
echo 'metadata Transfer Complete'
""",
execTimeout: 120000
)
],
usePromotionTimestamp: false,
verbose: true
)
]
)
}
}
stage('Docker Container Restart'){
steps{
// aws command
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'qa-backend',
transfers: [
sshTransfer(
execCommand: """
docker restart ${DOCKER_NAME}
""",
execTimeout: 120000
)
],
usePromotionTimestamp: false,
verbose: true
)
]
)
}
}
stage('SSH Tunneling Stop') {
steps {
script {
sh '/home/admintool/ssh-tunneling-qa.sh stop; /home/admintool/ssh-tunneling-qa.sh status'
}
}
}
}
}

View File

@@ -17,6 +17,7 @@ pipeline {
stage('Gradle Build') {
steps {
script {
sh 'cp /var/lib/jenkins/workspace/Trunk-Admintool-Dev-BackEnd/gradlew /var/lib/jenkins/workspace/Stable-Admintool-QA-BackEnd/gradlew'
sh 'chmod +x gradlew' //gradle 권한 설정
sh './gradlew clean build -x test -Pprofile=qa' //빌드 test는 하지않는다
}

View File

@@ -17,6 +17,7 @@ pipeline {
stage('Gradle Build') {
steps {
script {
sh 'cp /var/lib/jenkins/workspace/Trunk-Admintool-Dev-BackEnd/gradlew /var/lib/jenkins/workspace/Product-Admintool-Stage-BackEnd-Full/gradlew'
sh 'chmod +x gradlew' //gradle 권한 설정
sh './gradlew clean build -x test -Pprofile=stage' //빌드 test는 하지않는다
}

View File

@@ -0,0 +1,99 @@
pipeline {
agent any
environment {
META_FOLDER = 'metadata/**'
REMOTE_META_FOLDER = 'admintool'
DOCKER_NAME = 'admintool-back-stage'
}
stages {
stage('MetaData Checkout'){
steps{
checkout([$class: 'SubversionSCM',
additionalCredentials: [],
excludedCommitMessages: '',
excludedRegions: '',
excludedRevprop: '',
excludedUsers: '',
filterChangelog: false,
ignoreDirPropChanges: false,
includedRegions: '',
locations: [
[
cancelProcessOnExternalsFail: true,
credentialsId: 'jenkins-build',
depthOption: 'infinity',
ignoreExternalsOption: true,
local: 'metadata',
remote: 'svn://10.20.20.9/branches/Product/DataAssets/MS2/JSON@HEAD'
]
],
quietOperation: true,
workspaceUpdater: [$class: 'UpdateUpdater']
])
}
}
stage('SSH Tunneling Start') {
steps {
script {
sh 'rm -rf ${WORKSPACE}/metadata/.svn'
sh 'rm -rf ${WORKSPACE}/metadata/QuestScript'
sh '/home/admintool/ssh-tunneling-stage.sh start'
}
}
}
stage('Transfer MeataData'){
steps{
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'stage-backend',
transfers: [
sshTransfer(
sourceFiles: "${META_FOLDER}",
remoteDirectory: "${REMOTE_META_FOLDER}",
execCommand: """
echo 'metadata Transfer Complete'
""",
execTimeout: 120000
)
],
usePromotionTimestamp: false,
verbose: true
)
]
)
}
}
stage('Docker Container Restart'){
steps{
// aws command
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'stage-backend',
transfers: [
sshTransfer(
execCommand: """
docker restart ${DOCKER_NAME}
""",
execTimeout: 120000
)
],
usePromotionTimestamp: false,
verbose: true
)
]
)
}
}
stage('SSH Tunneling Stop') {
steps {
script {
sh '/home/admintool/ssh-tunneling-stage.sh stop; /home/admintool/ssh-tunneling-stage.sh status'
}
}
}
}
}

View File

@@ -17,6 +17,7 @@ pipeline {
stage('Gradle Build') {
steps {
script {
sh 'cp /var/lib/jenkins/workspace/Trunk-Admintool-Dev-BackEnd/gradlew /var/lib/jenkins/workspace/Product-Admintool-Stage-BackEnd/gradlew'
sh 'chmod +x gradlew' //gradle 권한 설정
sh './gradlew clean build -x test -Pprofile=stage' //빌드 test는 하지않는다
}