1. Jenkins介紹
- Jenkins是基于java的自動化系統(tǒng)平臺(在servlet容器中運行,例如Tomcat)
- 提供CI码泞,CD任務(wù)及流水線服務(wù)
- 支持各種SCM源碼控制工具
- 豐富的插件
- 基于Web的管理和使用界面
2. 安裝并啟動Jenkins
jenkins有多種安裝方式: docker,WAR狼犯,Linux余寥,Windows,macOS等等悯森。
- windows下的war文件安裝jenkins:
- jdk環(huán)境安裝配置
- 下載 jenkins war宋舷,版本2.73.3,安裝在D:\Applications\Jenkins目錄下
- 啟動Jenkins:進入war包所在目錄瓢姻,執(zhí)行
java -jar jenkins.war
(默認(rèn)是8080端口祝蝠,jenkins服務(wù)在后臺運行,Ctrl+C退出終端后服務(wù)不會終止幻碱,需要net stop Jenkins來終止)绎狭,java -jar jenkins.war --httpPort=8038
,(會重新開啟一個Jenkins服務(wù)褥傍,路徑 ~/.jenkins儡嘶,Ctrl+C退出終端后服務(wù)會終止。) - 輸入localhost:8080/摔桦,進入jenkins web頁面
3. Jenkins初始化配置
- 解鎖Unlock Jenkins:輸入initialAdminPassword(Jenkins歡迎頁會提示密碼具體保存在哪社付,$JENKINS_HOME\secrets\initialAdminPassword),即可用管理員admin身份進入邻耕。
- 定制 Jenkins Customize Jenkins:即是否默認(rèn)下載一些插件鸥咖。
4. 新建一個自由風(fēng)格的job
新建一個自由風(fēng)格的job(或者說是項目Project)。
- 本地Jenkins\jobs目錄對應(yīng)每個job的具體信息例如構(gòu)建歷史builds等
- 本地Jenkins\workspace目錄對應(yīng)每個job的SCM源碼倉庫(例如下載的git源碼等)
4.1. General
- 如果是測GitHub項目兄世,則勾選Github project-->填寫Project URL
4.2. 源碼管理
默認(rèn)None啼辣,下載Git Plugin插件后會顯示Git方式
- Repositories填寫Repository URL(帶上.git), Credentials(選擇Username with password方式。這個是Jenkins拉取源碼時需要的憑證御滩,選擇后會自動校驗用戶權(quán)限)
- 對所有Credentials進行管理:http://localhost:8080/credentials/
- Branch Specifier: 為空表示項目的所有分支鸥拧, refs/heads/master表示本地master分支党远, refs/tags/tagname表示標(biāo)簽,commitid表示commitid版本等等
4.3. 構(gòu)建觸發(fā)器
- Build periodically: 周期進行項目構(gòu)建(不管源碼是否發(fā)生變化)富弦。
- Poll SCM(
SCM管理
: 定時檢查源碼變更(根據(jù)SCM軟件的版本號)沟娱,如果有更新就checkout最新code下來,然后執(zhí)行構(gòu)建動作腕柜。有Git Polling Log可以查看日志济似。
-
CST可視為美國,澳大利亞盏缤,古巴或中國的標(biāo)準(zhǔn)時間砰蠢。
-
Git Polling Log日志如下(No changes則不會觸發(fā) SCM 構(gòu)建):
4.4. 構(gòu)建環(huán)境
- 可安裝
Timestamper
插件,并且構(gòu)建環(huán)境勾選 Add timestamps to the Console Output唉铜,這樣在控制臺輸出的時候會加上時間戳台舱。
4.5. 構(gòu)建
默認(rèn)可通過四種方式構(gòu)建,Windows batch潭流、shell竞惋、Maven、ant
-
例如構(gòu)建腳本如下:
4.6. 構(gòu)建后操作:可發(fā)郵件等幻枉。碰声。。
5. 查看構(gòu)建結(jié)果
5.1 某構(gòu)建歷史的構(gòu)建觸發(fā)器
- 用戶點擊 立即構(gòu)建 觸發(fā)的會顯示 啟動用戶admin
- Build periodically 觸發(fā)的會顯示 Started by timer
- Poll SCM 觸發(fā)的會顯示 Started by an SCM change
5.2 某構(gòu)建歷史的控制臺輸出
- 說明: 因為本地windows下已經(jīng)安裝了node環(huán)境并添加到了
PATH
中熬甫,所以jenkins中不需要額外的配置可以直接運行node命令÷#可以在jenkins系統(tǒng)管理--》系統(tǒng)信息椿肩,查看 JAVA_HOME,JENKINS_HOME,PATH等信息豺谈。
6. 關(guān)閉郑象,重啟或重載 Jenkins
- 關(guān)閉:localhost:8080/exit
- 重啟:localhost:8080/restart
- 重載:localhost:8080/reload (例如:重新加載配置信息)
7. 停止或啟動Jenkins服務(wù)
- windows系統(tǒng)
net stop Jenkins(需要管理員權(quán)限)
net start Jenkins