提交 c98dac4e 编写于 作者: zhangsiyuan's avatar zhangsiyuan

Update test-phome.jenkinsfile

上级 44b05540
// User-defined Variables:
def ip ="192.168.140.111"
deg ng_project=`echo $JOB_NAME | awk -F['_'] '{ print $3 }'`
// Git Repository
def repoUrl = "$git"
......@@ -12,22 +15,10 @@ def repoUrl = "$git"
def CREDENTIALSID = "1fa6bf2e-e790-4262-8632-e119f8919bb9"
// Sonar
def SONAR_PROJECT_NAME = PROJECT_NAME + '-' + envProfile
def SONAR_PROJECT_KEY = PROJECT_NAME + '-' + envProfile
def SONAR_PROJECT_NAME = $JOB_NAME + '-' + envProfile
def SONAR_PROJECT_KEY = $JOB_NAME + '-' + envProfile
def SONAR_HOST_URL = "http://192.168.140.201:9000"
// Local Registry
def LOCAL_REGISTRY_USER = "maniu"
def LOCAL_REGISTRY_PASSWORD = "maniujk"
def localRegistry = ["dev": "10.241.65.86:9993", "test": "10.241.65.86:9997", "itest": "10.241.65.86:9995","pre": "10.241.65.86:9995","prod": "10.241.65.86:9999","release": "10.241.65.86:9995"]
def LOCAL_REGISTRY_URL = localRegistry."${envProfile}"
def LOCAL_IMAGE_NAME = LOCAL_REGISTRY_URL + '/' + PROJECT_NAME
// Aliyun Registry
def ALI_REGISTRY_USER = "manniuapp@1111785193823703"
def ALI_REGISTRY_PASSWORD = "manniu2020"
def ALI_REGISTRY_URL = "manniu-app-registry.cn-shanghai.cr.aliyuncs.com"
def ALI_IMAGE_NAME = ALI_REGISTRY_URL + '/' + envProfile + '/' + PROJECT_NAME
// vue 环境变量
def ENV_MAP = ["dev": "dev", "test": "testing", "itest":"pre","pre": "pre","prod": "production","release": "production"]
......@@ -56,9 +47,7 @@ pipeline{
echo refVar: $refVar
echo tagType: $tagType
echo profile: ${envProfile}
echo LOCAL_REGISTRY_URL: ${LOCAL_REGISTRY_URL}
echo SONAR_PROJECT_NAME: ${SONAR_PROJECT_NAME}
echo ALI_IMAGE_NAME: ${ALI_IMAGE_NAME}
printenv
"""
}
......@@ -131,51 +120,13 @@ pipeline{
}
}
stage('Build Image') {
steps {
sh "docker build -t ${LOCAL_IMAGE_NAME}:${IMAGE_TAG} ."
}
}
stage('Push Image') {
parallel {
stage('push local image') {
steps {
sh """
docker login -u ${LOCAL_REGISTRY_USER} -p ${LOCAL_REGISTRY_PASSWORD} ${LOCAL_REGISTRY_URL}
docker push ${LOCAL_IMAGE_NAME}:${IMAGE_TAG}
"""
}
}
stage('push remote image') {
steps {
sh """
docker tag ${LOCAL_IMAGE_NAME}:${IMAGE_TAG} ${ALI_IMAGE_NAME}:${IMAGE_TAG}
docker login -u ${ALI_REGISTRY_USER} -p ${ALI_REGISTRY_PASSWORD} ${ALI_REGISTRY_URL}
docker push ${ALI_IMAGE_NAME}:${IMAGE_TAG}
"""
}
}
}
}
stage('prune locally images') {
steps {
sh """
docker rmi ${LOCAL_IMAGE_NAME}:${IMAGE_TAG}
docker rmi ${ALI_IMAGE_NAME}:${IMAGE_TAG}
"""
}
}
// Update app
stage('deploy k8s'){
stage('deploy'){
when { expression { envProfile ==~ /dev|test/ }}
steps{
sh """
echo "{\\"spec\\": {\\"template\\": {\\"spec\\": {\\"containers\\": [{\\"name\\": \\"${PROJECT_NAME}\\",\\"image\\": \\"${ALI_IMAGE_NAME}:${IMAGE_TAG}\\"}]}}}}" | kubectl patch deploy/${PROJECT_NAME} -n ${KUBE_NAMESPACE} -p "\$(cat -)" --context=${envProfile}
rsync -av $WORKSPACE/dist/* root@$ip:/usr/share/nginx/html/phome/$ng_project/
"""
}
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册