筆者在前文《通過 CLI 管理 Jenkins Server》中介紹了如何通過 SSH 或客戶端命令行的方式管理 Jenkins Server,限於篇幅,前文主要的目的是介紹連接 Jenkins Server 的方式。本文主要介紹 Jenkins Server 提供的常用命令。
本文主要演示以 SSH 的方式執行常見的 Jenkins CLI 命令,關於通過 SSH 連接 Jenkins Server 的內容,請參考前文。說明:本文的演示環境為 ubuntu 16.04。
從 who-am-i 開始
$ ssh -l jack -p 8090 192.168.21.145 who-am-i
獲取 Jenkins Server 的版本
$ ssh -l jack -p 8090 192.168.21.145 version
添加 agent
create-node 命令需要指定一個 xml 文件作為參數,這個 xml 文件中保存着新建 node 的配置信息。方便起見我們可以先使用 get-node 命令獲得一個現有 node 的配置文件,然后修改其中的配置,並最終用來創建新的 node。比如我們當前有一個名為 testagent 的 node:
用下面的命令獲得其配置信息:
$ ssh -l jack -p 8090 192.168.21.145 get-node testagent > testagent.xml
接下來復制一份 testagent.xml 文件,創建 myagent.xml 文件,並修改 myagent.xml 文件中的相關配置。比如把 agent 名稱改為 myagent,host 修改為新 agent 的 IP 地址,credentialsId 改為具有適當權限的新 ID。最后用新的 myagent.xml 文件創建 node:
$ ssh -l jack -p 8090 192.168.21.145 create-node < myagent.xml
這樣新的 node 就創建好了。當然,我們也可以使用 delete-node 命令刪除一個 node。
安裝 plugin
Jenkins 默認提供的操作 plugin 的 CLI 只有 list-plugins 和 install-plugin。list-plugins 用來羅列所有已安裝的 plugins:
$ ssh -l jack -p 8090 192.168.21.145 list-plugins
如果為 list-plugins 指定參數(插件的名稱),則只顯示該插件的信息,該插件不存在就報錯:
install-plugin 命令用來安裝插件:
install-plugin SOURCE ... [-deploy] [-name VAL] [-restart]
根據指定的 source 選項,分別可以從 URL、本地文件和 update center 安裝插件。默認從 update center 安裝插件,只用指定插件的短名稱(ID)就可以了:
$ ssh -l jack -p 8090 192.168.21.145 install-plugin greenballs -deploy
-deploy 表示立即部署插件而不必等到下次重啟 Jenkins。
如果指定的插件已經存在並且需要升級到新的版本,同樣執行 install-plugin 命令就可以了:
$ ssh -l jack -p 8090 192.168.21.145 install-plugin pipeline-graph-analysis -restart
-restart 選項表示安裝完成后重啟 Jenkins。
等 Jenkins 重啟完成后,發現插件已經被更新到了最新的版本:
注意:update center 安裝插件時,會自動安裝當前插件所依賴的插件。
通過本地的文件安裝插件
下載 greenballs 插件到當前的目錄中,然后執行命令:
$ ssh -l jack -p 8090 192.168.21.145 install-plugin = -deploy < greenballs.hpi -name greenballs
注意,此時需要通過 -name 選項指定插件的名稱。
job 操作
Jenkins CLI 提供了豐富的命令來操作 job:
list-jobs:默認列出所有的 job
get-job:獲得指定 job 的配置文件
copy-job:以現存的 job 為模板創建一個新的 job
create-job:創建一個新的 job,以標准輸入中的內容作為配置信息
update-job:以配置文件中的內容更新 job
delete-job:刪除 job
enable-job:enable job
disable-job:disable job
雖然 job 操作涉及的命令比較多,但是都相對的簡單,這里不再一一演示。
觸發 job
build 命令用來觸發一個 job 任務,我們可以通過 help 命令來查看一下 build 命令的幫助文檔:
$ ssh -l jack -p 8090 192.168.21.145 help build
由上面的文檔可知,可以通過 -f 和 -v 選項同步的執行 job 並獲得控制台輸出:
$ ssh -l jack -p 8090 192.168.21.145 build test -f -v
總結
Jenkins CLI 默認支持的命令很多,這里只是簡單介紹了其中的幾個,主要目的是幫助理解 Jenkins CLI 命令的基本用法。更多命令的詳細用法請參考官方文檔。
參考:
Jenkins CLI