做者:CODING - 朱增辉html
本文是 CODING 持续集成自定义构建节点功能 的使用教程,经过一个为微信公众号启用开发配置的 Demo 演示,讲解如何接入自定义构建节点,如何使用自定义构建节点进行构建、测试、部署服务器。java
本文会使用到以下工具,请确认已安装,或者根据连接的文档进行安装。node
开发微信公众号还须要提早准备好下面两项资源。linux
微信公众号能够在微信公众平台官网申请,平台也提供了详细的开发帮助文档。git
这里的服务器指的是可以让微信服务器访问到的计算机,用来运行本文的服务端程序。不少公司都提供了云服务器租赁,仍是很方便获取的。这里推荐腾讯云平台的 CVM,临时用的话,竞价实例真的很划算。spring
本文重点是介绍 CODING 平台持续集成自定义构建节点功能,具体的业务逻辑并不重要,这里已提早准备好了一份演示代码,能够结合下面的步骤实际操做。shell
代码自己比较简单,须要特别说明的是,为了可以重复部署,代码引入了 Spring Boot Actuator 支持调用 API 退出服务器进程。windows
在左侧菜单栏选择构建计划
,在打开的页面中点击新建构建计划配置
。服务器
为简化构建计划配置,CODING 提供了丰富的模板供选择,这里咱们选择 Java 编译部署 jar 包
模板。微信
该模板支持将构建出的 jar 包经过 ssh 的方式传输到远端服务器,并执行命令启动。本文使用自定义构建节点的方式,能够直接在服务器上进行构建、部署,不须要传输,所以这里远端服务器的配置信息留空便可。
调整后的构建脚本(即代码中 Jenkinsfile 文件的内容)以下,您能够在此基础上按本身的须要调整。
def VERSION = "" pipeline { agent any stages { stage('检出') { steps { checkout([$class: 'GitSCM', branches: [[name: env.GIT_BUILD_REF]], userRemoteConfigs: [[ url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID ]]]) script { def pom = readMavenPom() VERSION = pom.getVersion() println "current version ${VERSION}" } } } stage('单元测试') { steps { sh 'mvn clean test' } } stage('编译') { steps { sh 'mvn clean package -Dmaven.test.skip=true' } } stage('部署') { steps { sh "curl -X POST localhost/actuator/shutdown || true" sh "JENKINS_NODE_COOKIE=dontKillMe nohup java -Dserver.port=80 -jar ${env.WORKSPACE}/target/demo-${VERSION}.jar > log &" } } } }
这里有两点须要特别说明:
(1)为方便重复部署,构建脚本在部署前会调用 actuator/shutdown
API 退出正在运行的服务进程。
(2)CODING CI 底层是基于 Jenkins 实现的,而 Jenkins 在构建任务结束后会停掉这次任务建立出来的全部进程,所以在部署时添加了环境变量 JENKINS_NODE_COOKIE=dontKillMe
以阻止 Jenkins 停掉部署的服务器进程。
从左侧菜单栏打开持续集成
下的构建节点
页面,选择想要添加节点的节点池,CODING 为每一个项目都建立了一个 default 节点池,这里咱们就选择 default 节点池,在打开的右侧面板里点击接入新节点
,而后根据待接入节点的操做系统点击相应栏目。
点击生成接入配置并复制
便可获得接入命令。本文使用预装 Linux 系统的腾讯云 CVM 机器做为节点,所以选择 Linux 栏目生成接入命令, 并在 Shell 中执行,便可自动完成初始化、注册、启动的过程。
实际上,接入命令是一段 Shell 脚本,主要用来下载、执行 cci-agent
程序。cci-agent
是 CODING 专门为自定义构建节点功能开发的客户端程序,您能够执行 ./cci-agent help
命令来查看更详细的使用说明。
执行完接入命令后,您能够在节点池页面看到新接入的节点,节点状态会由准备中
变为闲置
,此时,您就可使用该节点进行构建了。
接入自定义构建节点后,还须要调整构建计划配置,指定构建计划使用自定义节点进行构建。打开构建计划设置页面,在基础信息
页面下找到节点池配置
选项,选择拟使用的节点池,这里选 default 节点池。
配置修改后点击保存修改
,而后在构建计划
页面点击当即构建
,构建完成后服务器即部署完成了。
首先找到构建节点的公网 IP,若是您也是使用的腾讯云 CVM 机器,能够在腾讯云云服务器控制台很方便的查到。
打开微信公众号的开发配置页面,点击启用按钮。
在弹出的页面中填写前面步骤部署的服务器程序的相关信息。
点击提交按钮,若是页面没有报错提示,就说明配置成功了,您能够继续开发实现更多的功能。
本文以微信公众号开发为背景,重点演示了 CODING 平台持续集成自定义构建节点功能的使用。经过接入 CODING 平台的持续集成功能,咱们实现了微信公众号服务端程序的自动构建、测试和部署,在避免人为错误的同时还节省了时间、提升了效率,但愿对您有所帮助。