Thienvv - tach branch part 3

This commit is contained in:
thienqb123456
2025-03-12 17:44:33 +07:00
parent b61ee6a5e0
commit 3f3e4fa53b
5 changed files with 58 additions and 26 deletions
+3 -4
View File
@@ -52,7 +52,6 @@ pipeline {
} }
} }
} }
stage('Checkout') { stage('Checkout') {
steps { steps {
// Checkout mã nguồn từ Gitea // Checkout mã nguồn từ Gitea
@@ -142,13 +141,13 @@ pipeline {
success { success {
echo "Job '${env.JOB_NAME}' completed successfully. Attempting to trigger Job '${TRIGGER_JOB_NAME}'..." echo "Job '${env.JOB_NAME}' completed successfully. Attempting to trigger Job '${TRIGGER_JOB_NAME}'..."
script { script {
def message = "✅Build thành công : API - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n${env.BUILD_URL} \n Đang tiến hành Deploy...!" def message = "✅Build thành công : API - Môi trường ${params.ENV} - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n${env.BUILD_URL} \n Đang tiến hành Deploy...!"
sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\"" sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\""
} }
script { script {
try { try {
def buildResult = build job: "${TRIGGER_JOB_NAME}", parameters:[ def buildResult = build job: "${TRIGGER_JOB_NAME}", parameters:[
string(name: 'ENV', value: 'uat'), string(name: 'ENV', value: params.ENV),
string(name: 'CI_JOB_BUILD_NUMBER', value: env.BUILD_NUMBER) string(name: 'CI_JOB_BUILD_NUMBER', value: env.BUILD_NUMBER)
], ],
propagate: false propagate: false
@@ -164,7 +163,7 @@ pipeline {
} }
failure { failure {
script { script {
def message = "❌Build thất bại: API - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n Kiểm tra tại đây ${env.BUILD_URL}." def message = "❌Build thất bại: API - Môi trường ${params.ENV} - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n Kiểm tra tại đây ${env.BUILD_URL}."
sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\"" sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\""
} }
} }
+1 -1
View File
@@ -9,7 +9,7 @@ pipeline {
PROJECT_NAME = 'portal' PROJECT_NAME = 'portal'
CI_JOB_NAME = 'CI_BE_PORTAL' // tên của job CI CI_JOB_NAME = 'CI_BE_PORTAL' // tên của job CI
CI_JOB_METADATA_FILENAME = "${PROJECT_NAME}_metadata.json" // tên file metadata đã được lưu từ ci job CI_JOB_METADATA_FILENAME = "${PROJECT_NAME}_${params.ENV}_metadata.json" // tên file metadata đã được lưu từ ci job
NEXUS_CREDENTIALS = credentials('Nexus_credential') NEXUS_CREDENTIALS = credentials('Nexus_credential')
+27 -11
View File
@@ -1,30 +1,34 @@
pipeline { pipeline {
agent any agent any
parameters {
choice(name: 'ENV', choices: ['uat', 'production'], description: 'Choose Environment')
}
options { disableConcurrentBuilds(abortPrevious: true) } options { disableConcurrentBuilds(abortPrevious: true) }
environment { environment {
GIT_CREDENTIALSID = 'd3de261f-8f1e-470b-b6d1-2fb4965e0129' GIT_CREDENTIALSID = 'd3de261f-8f1e-470b-b6d1-2fb4965e0129'
GIT_URL = 'http://work.gct.com.vn/anhln/ACP_2025.git' GIT_URL = 'http://work.gct.com.vn/anhln/ACP_2025.git'
GIT_BRANCH = 'main'
GIT_UAT_BRANCH = 'uat-portal'
GIT_PRODUCTION_BRANCH = 'production-portal'
PROJECT_NAME = 'portal' PROJECT_NAME = 'portal'
METADATA_FILENAME = "${PROJECT_NAME}_${params.ENV}_metadata.json"
TRIGGER_JOB_NAME = 'CD_BE_PORTAL' TRIGGER_JOB_NAME = 'CD_BE_PORTAL'
METADATA_FILENAME = "${PROJECT_NAME}_metadata.json"
NUGET_CONFIG_PATH = 'NuGet.config' NUGET_CONFIG_PATH = 'NuGet.config'
APPLICATIONCORE_PATH = 'Packages' APPLICATIONCORE_PATH = 'Packages'
JENKINS_BUILD_FOLDER_PATH = 'Portal.WebApi' JENKINS_BUILD_FOLDER_PATH = 'Portal.WebApi'
JENKINS_PUBLISH_FOLDER_PATH = 'publish' JENKINS_PUBLISH_FOLDER_PATH = "${PROJECT_NAME}-${params.ENV}-publish"
COMPRESSED_FILE_NAME = "${PROJECT_NAME}_publish.zip" // tên file nén COMPRESSED_FILE_NAME = "${PROJECT_NAME}_${params.ENV}_publish.zip" // tên file nén
COMPRESSED_FILE_PATH = "${env.WORKSPACE }/${COMPRESSED_FILE_NAME}" COMPRESSED_FILE_PATH = "${env.WORKSPACE }/${COMPRESSED_FILE_NAME}"
NEXUS_CREDENTIALS = credentials('Nexus_credential') NEXUS_CREDENTIALS = credentials('Nexus_credential')
NEXUS_REPO_URL = "https://nexus.gct.com.vn/repository/${PROJECT_NAME}-backend" NEXUS_REPO_URL = "https://nexus.gct.com.vn/repository/${params.ENV}-portal-backend"
GROUP_ID = 'vn.kinhtedothi' GROUP_ID = 'vn.kinhtedothi'
ARTIFACT_ID = "${PROJECT_NAME}-backend-api" ARTIFACT_ID = 'portal-backend-api'
PACKAGING = 'zip' PACKAGING = 'zip'
VERSION = '1.0.0' // Phiên bản cơ bản VERSION = '1.0.0' // Phiên bản cơ bản
@@ -36,10 +40,22 @@ pipeline {
} }
stages { stages {
stage('Set up') {
steps {
script {
if (params.ENV == 'uat') {
env.GIT_BRANCH_NAME = GIT_UAT_BRANCH
} else if (params.ENV == 'production') {
env.GIT_BRANCH_NAME = GIT_PRODUCTION_BRANCH
}
echo "GIT_BRANCH_NAME is set to: ${env.GIT_BRANCH_NAME}"
}
}
}
stage('Checkout') { stage('Checkout') {
steps { steps {
// Checkout mã nguồn từ Gitea // Checkout mã nguồn từ Gitea
checkoutFromGit(env.GIT_URL as String, env.GIT_CREDENTIALSID as String, env.GIT_BRANCH as String) checkoutFromGit(env.GIT_URL as String, env.GIT_CREDENTIALSID as String, env.GIT_BRANCH_NAME as String)
} }
} }
@@ -126,13 +142,13 @@ pipeline {
success { success {
echo "Job '${env.JOB_NAME}' completed successfully. Attempting to trigger Job '${TRIGGER_JOB_NAME}'..." echo "Job '${env.JOB_NAME}' completed successfully. Attempting to trigger Job '${TRIGGER_JOB_NAME}'..."
script { script {
def message = "✅Build thành công : API - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n${env.BUILD_URL} \n Đang tiến hành Deploy...!" def message = "✅Build thành công : API - Môi trường ${params.ENV} - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n${env.BUILD_URL} \n Đang tiến hành Deploy...!"
sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\"" sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\""
} }
script { script {
try { try {
build job: "${TRIGGER_JOB_NAME}", parameters:[ build job: "${TRIGGER_JOB_NAME}", parameters:[
string(name: 'ENV', value: 'uat'), string(name: 'ENV', value: params.ENV),
string(name: 'CI_JOB_BUILD_NUMBER', value: env.BUILD_NUMBER) string(name: 'CI_JOB_BUILD_NUMBER', value: env.BUILD_NUMBER)
], propagate: false ], propagate: false
} }
@@ -146,7 +162,7 @@ pipeline {
failure { failure {
failure { failure {
script { script {
def message = "❌Build thất bại: API - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n Kiểm tra tại đây ${env.BUILD_URL}." def message = "❌Build thất bại: API - Môi trường ${params.ENV} - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n Kiểm tra tại đây ${env.BUILD_URL}."
sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\"" sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\""
} }
} }
@@ -9,7 +9,7 @@ pipeline {
PROJECT_NAME = 'resource' PROJECT_NAME = 'resource'
CI_JOB_NAME = 'CI-BE-RESOURCE' // tên của job CI CI_JOB_NAME = 'CI-BE-RESOURCE' // tên của job CI
CI_JOB_METADATA_FILENAME = "${PROJECT_NAME}_metadata.json" // tên file metadata đã được lưu từ ci job CI_JOB_METADATA_FILENAME = "${PROJECT_NAME}_${params.ENV}_metadata.json" // tên file metadata đã được lưu từ ci job
NEXUS_CREDENTIALS = credentials('Nexus_credential') NEXUS_CREDENTIALS = credentials('Nexus_credential')
+26 -9
View File
@@ -1,27 +1,32 @@
pipeline { pipeline {
agent any agent any
parameters {
choice(name: 'ENV', choices: ['uat', 'production'], description: 'Choose Environment')
}
options { disableConcurrentBuilds(abortPrevious: true) } options { disableConcurrentBuilds(abortPrevious: true) }
environment { environment {
GIT_CREDENTIALSID = 'd3de261f-8f1e-470b-b6d1-2fb4965e0129' GIT_CREDENTIALSID = 'd3de261f-8f1e-470b-b6d1-2fb4965e0129'
GIT_URL = 'http://work.gct.com.vn/anhln/ACP_2025.git' GIT_URL = 'http://work.gct.com.vn/anhln/ACP_2025.git'
GIT_BRANCH = 'main'
GIT_UAT_BRANCH = 'uat-resource'
GIT_PRODUCTION_BRANCH = 'production-resource'
PROJECT_NAME = 'resource' PROJECT_NAME = 'resource'
METADATA_FILENAME = "${PROJECT_NAME}_metadata.json" METADATA_FILENAME = "${PROJECT_NAME}_${params.ENV}_metadata.json"
TRIGGER_JOB_NAME = 'CD-BE-RESOURCE' TRIGGER_JOB_NAME = 'CD-BE-RESOURCE'
NUGET_CONFIG_PATH = 'NuGet.config' NUGET_CONFIG_PATH = 'NuGet.config'
APPLICATIONCORE_PATH = 'Packages' APPLICATIONCORE_PATH = 'Packages'
JENKINS_BUILD_FOLDER_PATH = 'Resource.WebApi' JENKINS_BUILD_FOLDER_PATH = 'Resource.WebApi'
JENKINS_PUBLISH_FOLDER_PATH = "${PROJECT_NAME}-publish" JENKINS_PUBLISH_FOLDER_PATH = "${PROJECT_NAME}-${params.ENV}-publish"
COMPRESSED_FILE_NAME = "${PROJECT_NAME}_publish.zip" // tên file nén COMPRESSED_FILE_NAME = "${PROJECT_NAME}_${params.ENV}_publish.zip" // tên file nén
COMPRESSED_FILE_PATH = "${env.WORKSPACE }/${COMPRESSED_FILE_NAME}" COMPRESSED_FILE_PATH = "${env.WORKSPACE }/${COMPRESSED_FILE_NAME}"
NEXUS_CREDENTIALS = credentials('Nexus_credential') NEXUS_CREDENTIALS = credentials('Nexus_credential')
NEXUS_REPO_URL = 'https://nexus.gct.com.vn/repository/resource-backend' NEXUS_REPO_URL = "https://nexus.gct.com.vn/repository/${params.ENV}-resource-backend"
GROUP_ID = 'vn.kinhtedothi' GROUP_ID = 'vn.kinhtedothi'
ARTIFACT_ID = 'resource-backend-api' ARTIFACT_ID = 'resource-backend-api'
PACKAGING = 'zip' PACKAGING = 'zip'
@@ -35,10 +40,22 @@ pipeline {
} }
stages { stages {
stage('Set up') {
steps {
script {
if (params.ENV == 'uat') {
env.GIT_BRANCH_NAME = GIT_UAT_BRANCH
} else if (params.ENV == 'production') {
env.GIT_BRANCH_NAME = GIT_PRODUCTION_BRANCH
}
echo "GIT_BRANCH_NAME is set to: ${env.GIT_BRANCH_NAME}"
}
}
}
stage('Checkout') { stage('Checkout') {
steps { steps {
// Checkout mã nguồn từ Gitea // Checkout mã nguồn từ Gitea
checkoutFromGit(env.GIT_URL as String, env.GIT_CREDENTIALSID as String, env.GIT_BRANCH as String) checkoutFromGit(env.GIT_URL as String, env.GIT_CREDENTIALSID as String, env.GIT_BRANCH_NAME as String)
} }
} }
@@ -124,13 +141,13 @@ pipeline {
success { success {
echo "Job '${env.JOB_NAME}' completed successfully. Attempting to trigger Job '${TRIGGER_JOB_NAME}'..." echo "Job '${env.JOB_NAME}' completed successfully. Attempting to trigger Job '${TRIGGER_JOB_NAME}'..."
script { script {
def message = "✅Build thành công : API - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n${env.BUILD_URL} \n Đang tiến hành Deploy...!" def message = "✅Build thành công : API - Môi trường ${params.ENV} - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n${env.BUILD_URL} \n Đang tiến hành Deploy...!"
sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\"" sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\""
} }
script { script {
try { try {
def buildResult = build job: "${TRIGGER_JOB_NAME}", parameters:[ def buildResult = build job: "${TRIGGER_JOB_NAME}", parameters:[
string(name: 'ENV', value: 'uat'), string(name: 'ENV', value: params.ENV),
string(name: 'CI_JOB_BUILD_NUMBER', value: env.BUILD_NUMBER) string(name: 'CI_JOB_BUILD_NUMBER', value: env.BUILD_NUMBER)
], ],
propagate: false propagate: false
@@ -146,7 +163,7 @@ pipeline {
} }
failure { failure {
script { script {
def message = "❌Build thất bại: API - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n Kiểm tra tại đây ${env.BUILD_URL}." def message = "❌Build thất bại: API - Môi trường ${params.ENV} - Dự án ${env.PROJECT_NAME} \n ${currentBuild.fullDisplayName}\n Kiểm tra tại đây ${env.BUILD_URL}."
sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\"" sh "curl -s -X POST https://api.telegram.org/bot${env.TELEGRAM_BOT_TOKEN}/sendMessage -d chat_id=${env.TELEGRAM_CHAT_ID} -d text=\"${message}\""
} }
} }