软件:
centos 7.x
java
jenkins Pipeline
ansible
1、安装请看上一文
2、主要是讲部署()
目的:实现 参数化发布
说明 :构建jar包是由gitlab-ci 生成,代码 是从test服务器拉取(jenkins另外 一个任务拉)
安装插件:
active choicse plug-in
Git Parameter
配置说明:
pipenline script:
node {
/*stage('Get code') { // for display purposes
echo "Get code"
}*/
stage("BACKUP"){
echo "backup"
sh 'ansible-playbook /opt/bin/jenkins/backup.yml -e "hosts_ip=${HOST_LIST}" -e "folder=${NAME}"'
}
stage("PUSH"){
if ("${ACTIVE}" == 'push')
{
echo "${ACTIVE}"
echo "${VERSION_LIST}"
sh "bash /opt/bin/jenkins/deploy-offline-java.sh ${VERSION_LIST} ${NAME} $ENV ${HOST_LIST} ${SRC_PATH}/${VERSION_LIST}/ ${DEST_PATH}"
}
}
/*
stage("TEST CODE")
{
echo "Test code"
}*/
stage("CHECK FILE MD5")
{
echo "check md5"
sh "bash /opt/bin/jenkins/check_md5.sh ${SRC_PATH} ${HOST_LIST}"
}
stage("Restart jetty")
{
echo "restart jetty"
sh 'ansible-playbook /opt/bin/jenkins/restart_jt.yml -e "hosts_ip=${HOST_LIST}"'
}
stage("DINGDING")
{
wrap([$class: 'BuildUser']) {
echo "${BUILD_USER}"
echo "Send DINGDING"
sh "python /opt/bin/jenkins/send_dingding.py ${JOB_NAME} ${BUILD_USER} ${ENV} ${VERSION_LIST}"
}
}
}
build图:
CD图: