原文地址:https://jenkins.io/zh/blog/2019/08/30/jenkins-cli/java
做爲一名開發者,我一般像下面那樣使用 Jenkins:linux
查找與我當前工做相關的任務git
觸發任務構建github
檢查構建日誌windows
有時候,我可能須要檢查插件更新中心,安裝新的插件,或者更新一個已有的插件。再或者,但願從本地上傳一個插件。全部的這些狀況,其實都沒有必要 訪問 UI 界面甚至是瀏覽器。我更傾向於使用命令行(CLI)來完成大部分的工做。例如:我可使用 kubectl
來管理個人 Kubernets 集羣, 建立或者修改 Kubernetes 資源。所以,我開始思考,「爲何不用命令行來管理 Jenkins 呢」?瀏覽器
首先,我幾乎都已經忘記了那個早已存在的命令行,用 Java 編寫的 Jenkins CLI。讓我先 介紹一下如何使用這個命令行。curl
訪問 Jenkins 的頁面 http://localhost:8080/jenkins/cli/
。你將會看到相似於 java -jar jenkins-cli.jar -s http://localhost:8080/jenkins/ help
的命令行。所以,須要下載一個 jar 文件。咱們能夠用命令 wget http://localhost:8080/jenkins/jnlpJars/jenkins-cli.jar
來下載。工具
此時,你應該能看到,這並非一個 Linux 風格的 CLI。請思考下面的幾個點:url
用戶必需要有一個 JRE 環境。這對於非 Java 開發者來講並不方便。spa
命令行使用繁瑣,須要輸入不少字符。咱們每次都須要輸入 java -jar jenkins-cli.jar -s http://localhost:8080/jenkins/
做爲命令的前綴。
沒法使用一些流行的包管理器安裝,例如:brew
或 yum
。
固然,Java 版本的命令行和 Jenkins 的兼容性更好。可是,我指望在使用時能夠更簡單些。 所以,我決定使用 Golang 來編寫一個新的命令行,這樣能夠運行在多個平臺上。
這就是建立 jcli
的故事。
易於維護的 jcli 配置文件
支持管理多個 Jenkins
插件管理(列表、搜索、安裝、上傳)
任務管理(搜索、構建、日誌)
在瀏覽器中打開 Jenkins
重啓 Jenkins
支持鏈接代理
你能夠從 jenkins-cli 的代碼倉庫中克隆 jcli
。目前,咱們支持三個主流的操做 系統平臺: MacOS、Linux、和 Windows。
你可使用 brew 安裝 jcli。
brew tap jenkins-zh/jcli brew install jcli
在 Linux 下安裝也是很是的簡單。你只須要執行下面的命令便可:
curl -L https://github.com/jenkins-zh/jenkins-cli/releases/latest/download/jcli-linux-amd64.tar.gz|tar xzv sudo mv jcli /usr/local/bin/
你能夠點擊 這裏找到最新的版本。 而後,下載 tar 文件,把解壓後的 jcli
拷貝到系統目錄下。
使用這個很是簡單。你安裝好 jcli
後,能夠經過下面的命令生成一個配置樣本:
$ jcli config generate current: yourServer jenkins_servers: - name: yourServer url: http://localhost:8080/jenkins username: admin token: 111e3a2f0231198855dceaff96f20540a9 proxy: "" proxyAuth: "" # Goto 'http://localhost:8080/jenkins/me/configure', then you can generate your token.
在大多數狀況下,你應該只須要修改三個字段,包括:url
、username
和 token
。好的,我相信你已經準備好了。 而後,就能夠經過下面的命令來檢查你的 Jenkins 中是否安裝了 github
插件:
jcli plugin list --filter name=github
最後,該命令行工具還處在研發的早期階段,咱們歡迎任何形式的貢獻!