签入版本
This commit is contained in:
+126
@@ -0,0 +1,126 @@
|
||||
pipeline {
|
||||
agent any
|
||||
options {
|
||||
buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '2', numToKeepStr: '2'))
|
||||
}
|
||||
stages {
|
||||
stage('Setup Parameters & ENV') {
|
||||
steps {
|
||||
configFileProvider([configFile(fileId: 'easygoadmin-wiki', variable: 'settingsFile')]) {
|
||||
script {
|
||||
def config = readJSON file:"$settingsFile"
|
||||
def jobNameStr = JOB_NAME.tokenize('/') as String[]
|
||||
def jobName = jobNameStr[0]
|
||||
def branchConfig = config."branchConfig"."${env.BRANCH_NAME}"
|
||||
def serviceConfig = config."serviceConfig"."${jobName}"
|
||||
|
||||
MAVEN_SET = branchConfig.MAVEN_SET
|
||||
registry = branchConfig.registry
|
||||
registryCredential = branchConfig.registryCredential
|
||||
namespace = branchConfig.namespace
|
||||
jenkinsAgent = branchConfig.jenkinsAgent
|
||||
|
||||
echo "jobName: ${jobName}"
|
||||
echo "The Maven Set XML for the ${env.BRANCH_NAME} branch is: ${MAVEN_SET}"
|
||||
|
||||
projectName = serviceConfig.projectName
|
||||
packageName = serviceConfig.packageName
|
||||
serverHost01= serviceConfig.serverHost01
|
||||
serviceName = serviceConfig.serviceName
|
||||
|
||||
echo "projectName: ${projectName}"
|
||||
echo "packageName: ${packageName}"
|
||||
echo "serverHost01: ${serverHost01}"
|
||||
|
||||
if ("${env.BRANCH_NAME}" == "dev") {
|
||||
serverIP01 = branchConfig."${serverHost01}"
|
||||
echo "dev serverIP01: ${serverIP01}"
|
||||
properties([
|
||||
parameters([
|
||||
string(
|
||||
defaultValue: 'dev',
|
||||
description: '编译参数',
|
||||
name: 'PROFILES',
|
||||
trim: true
|
||||
)
|
||||
])
|
||||
])
|
||||
} else if ("${env.BRANCH_NAME}" == "test"){
|
||||
serverIP01 = branchConfig."${serverHost01}"
|
||||
echo "test serverIP01: ${serverIP01}"
|
||||
properties([
|
||||
parameters([
|
||||
string(
|
||||
defaultValue: 'test',
|
||||
description: '编译参数',
|
||||
name: 'PROFILES',
|
||||
trim: true
|
||||
)
|
||||
])
|
||||
])
|
||||
} else if ("${env.BRANCH_NAME}" == "master") {
|
||||
properties([
|
||||
parameters([
|
||||
string(
|
||||
defaultValue: 'prod',
|
||||
description: '编译参数',
|
||||
name: 'PROFILES',
|
||||
trim: true
|
||||
)
|
||||
])
|
||||
])
|
||||
serverIP01 = branchConfig."${serverHost01}"
|
||||
echo "prod serverIP01: ${serverIP01}"
|
||||
} else {
|
||||
error("Build failed because failed to fetch settings for branch")
|
||||
}
|
||||
echo "The serverIP for the branch: ${env.BRANCH_NAME}, profile: ${PROFILES} is: ${serverIP01}"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
agent {
|
||||
label {
|
||||
label jenkinsAgent
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh """
|
||||
node -v
|
||||
yarn -v
|
||||
yarn config set registry https://registry.npmmirror.com
|
||||
yarn config get registry
|
||||
yarn config set strict-ssl false
|
||||
cd ${serviceName}
|
||||
yarn install
|
||||
yarn run docs:build
|
||||
ls -lsh;
|
||||
"""
|
||||
}
|
||||
|
||||
}
|
||||
stage("Deploy") {
|
||||
options {
|
||||
skipDefaultCheckout()
|
||||
}
|
||||
agent {
|
||||
label {
|
||||
label jenkinsAgent
|
||||
}
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
sh 'echo "#### MD5 HASH ####"'
|
||||
sh "cd ${serviceName}; ls -lsh; cd .vitepress; ls -lsh; rm -rf ${projectName} ${packageName}; mv dist ${projectName} && tar zcf ${packageName} ${projectName}; md5sum ${packageName}"
|
||||
|
||||
sh 'echo "#### scp and restart ####"'
|
||||
sh "ssh ${serverIP01} 'cd /usr/local/docker/nginx/html/easygoadmin-wiki; rm -rf ${projectName}; rm -f ${packageName}'"
|
||||
sh "cd ${serviceName}; ls -lsh; cd .vitepress; scp ${packageName} ${serverIP01}:/usr/local/docker/nginx/html/easygoadmin-wiki"
|
||||
sh "ssh ${serverIP01} 'cd /usr/local/docker/nginx/html/easygoadmin-wiki; tar zxf ${packageName}; ls -l'"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user