使用CODING构建微服务项目
废话不多说,我直接上我的开发过程。coding的注册啥之类的我就不描述了,能玩Devops的人,那些肯定妥妥的....
CODING官网,安装引导注册用户之类的.....
进入到工作台
-
点击项目
-
创建一个新的项目,并选择DevOps模板
-
点击代码仓库,然后导入外部仓库,是否开源看自己选择,然后完成创建
-
此时想3分钟静静便可
-
点击持续集成,我这里选择的是JAVA+Spring+docker的模板
-
-
上一步中的公钥需要配置在目标服务中,参考publish over ssh实现Jenkins远程部署
-
-
构建计划-基础信息
-
构建计划-流程配置
脚本详情: pipeline { agent any stages { stage('检出') { steps { checkout([$class: 'GitSCM', branches: [[name: GIT_BUILD_REF]], userRemoteConfigs: [[ url: GIT_REPO_URL, credentialsId: CREDENTIALS_ID ]]]) } } stage('编译') { steps { echo "正在构建${env.module}服务...." sh "mvn install -pl ${env.module} -am" echo "${env.module}服务已完成打包!!!" } } stage('传输文件') { steps { echo '正在传输文件.....' sh 'sshpass -p ${PASSWORD} scp -P ${REMOTE_SSH_PORT} ${WORKSPACE}/${module}/target/*.jar ${REMOTE_USER_NAME}@${REMOTE_HOST}:${REMOTE_PATH}/${module}' sh 'sshpass -p ${PASSWORD} scp -P ${REMOTE_SSH_PORT} ${WORKSPACE}/${module}/src/main/resources/Dockerfile ${REMOTE_USER_NAME}@${REMOTE_HOST}:${REMOTE_PATH}/${module}' sh 'sshpass -p ${PASSWORD} scp -P ${REMOTE_SSH_PORT} ${WORKSPACE}/${module}/src/main/resources/Jenkinsfile ${REMOTE_USER_NAME}@${REMOTE_HOST}:${REMOTE_PATH}/${module}' echo '文件传输完成!!!!!' } } stage('部署到远端服务') { steps { script { def remoteConfig = [:] remoteConfig.name = "my-remote-server" remoteConfig.host = "${REMOTE_HOST}" remoteConfig.port = "${REMOTE_SSH_PORT}".toInteger() remoteConfig.allowAnyHosts = true withCredentials([ sshUserPrivateKey( credentialsId: "${REMOTE_CRED}", keyFileVariable: "privateKeyFilePath" ), usernamePassword( credentialsId: "${CODING_ARTIFACTS_CREDENTIALS_ID}", usernameVariable: 'CODING_DOCKER_REG_USERNAME', passwordVariable: 'CODING_DOCKER_REG_PASSWORD' ) ]) { // SSH 登陆用户名 remoteConfig.user = "${REMOTE_USER_NAME}" // SSH 私钥文件地址 remoteConfig.identityFile = privateKeyFilePath sshCommand( remote: remoteConfig, command: "sh ${REMOTE_PATH}/${module}/Jenkinsfile", sudo: true, ) echo "部署成功!!!" } } } } } }
-
其中有一些变量需要在变量与缓存这里设置,当然有其它可以自建变量
-
保存,出去构建一下即可
我这里没用他自带的docker,因为周末尝试了下,在打包镜像的时候失败了,Dockerfile找不到相应的jar包,还是不太熟悉这个软件构建下的结构,如果有了解的大佬指导下哈,嘻嘻。
评论区