Jenkins CLI 命令詳解

KK 老師分享《Django + Ansible 主機管理》資料
PPT+ 視頻+代碼
鏈接:https://pan.baidu.com/s/1xBV-XLiIbe_odC6tj2i9OA
提取碼:koip

筆者在前文《通過 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 CLI 命令詳解

獲取 Jenkins Server 的版本

$ ssh -l jack -p 8090 192.168.21.145 version

Jenkins CLI 命令詳解

添加 agent

create-node 命令需要指定一個 xml 文件作爲參數,這個 xml 文件中保存着新建 node 的配置信息。方便起見我們可以先使用 get-node 命令獲得一個現有 node 的配置文件,然後修改其中的配置,並最終用來創建新的 node。比如我們當前有一個名爲 testagent 的 node:
Jenkins CLI 命令詳解
用下面的命令獲得其配置信息:

$ ssh -l jack -p 8090 192.168.21.145 get-node testagent > testagent.xml

Jenkins CLI 命令詳解

接下來複制一份 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

Jenkins CLI 命令詳解
這樣新的 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

Jenkins CLI 命令詳解

如果爲 list-plugins 指定參數(插件的名稱),則只顯示該插件的信息,該插件不存在就報錯:
Jenkins CLI 命令詳解
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 命令就可以了:
Jenkins CLI 命令詳解

-restart 選項表示安裝完成後重啓 Jenkins。
Jenkins CLI 命令詳解

等 Jenkins 重啓完成後,發現插件已經被更新到了最新的版本:
Jenkins CLI 命令詳解

注意: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

Jenkins CLI 命令詳解

由上面的文檔可知,可以通過 -f 和 -v 選項同步的執行 job 並獲得控制檯輸出:

$ ssh -l jack -p 8090 192.168.21.145 build test -f -v

Jenkins CLI 命令詳解

總結

Jenkins CLI 默認支持的命令很多,這裏只是簡單介紹了其中的幾個,主要目的是幫助理解 Jenkins CLI 命令的基本用法。更多命令的詳細用法請參考官方文檔。

參考:
Jenkins CLI

閱讀原文

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章