做者: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 平臺的持續集成功能,咱們實現了微信公衆號服務端程序的自動構建、測試和部署,在避免人爲錯誤的同時還節省了時間、提升了效率,但願對您有所幫助。