Jenkins 編譯后使用SSH發(fā)布詳解
前言
想要實(shí)現(xiàn)自動發(fā)布編譯好的apk,我們可以使用官方插件庫里的如下插件。

你可以使用FTP SSH等方式自動化發(fā)布,當(dāng)然你也可以寫腳本實(shí)現(xiàn)復(fù)雜的發(fā)布操作。
我以Publish Over SSH為例簡單講解下(主要是目前沒部署FTP服務(wù) TAT)
因?yàn)椴恢涝趺词褂眠@個插件,所以我查看了下官方文檔
https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin
看得懂E文的推薦去看看,比我講的詳細(xì)的多了。
這也算是能力的鍛煉吧。
不廢話,具體實(shí)現(xiàn)的最簡單步驟如下
SSH連接設(shè)置
點(diǎn)主頁左側(cè)菜單的系統(tǒng)管理 選擇系統(tǒng)設(shè)置 在系統(tǒng)設(shè)置頁面找到找到SSH配置段

- Passphrase:表示登入密碼
- path to key:SSH-key文件存放路徑 文件路徑可以是絕對路徑 也可以是相對路徑(相對于jenkins的工作目錄)
- key:SSH-key具體的key文本 作用同上 設(shè)置其中一個即可
- disable exec: 表示是否運(yùn)行執(zhí)行命令 因?yàn)槟阍诎l(fā)布之后可能需要通過命令操作服務(wù)器,比如上傳編譯好的網(wǎng)站文件然后重啟服務(wù)器上的tomcat
- name: 一般寫成 用戶名@主機(jī)名 比如root@blog.cooderstory.cn 當(dāng)存在多個ssh配置文件的時候 我們使用name來區(qū)分
- hostanme:表示需要登入的遠(yuǎn)程主機(jī) 可以和我一樣寫個域名或者具體的ip
- username: 就是登入的用戶名
- remote directory: 表示遠(yuǎn)程路徑 登入到服務(wù)器后想打開哪個目錄
這段SSH的配置主要是讓jenkins能通過shh連接到服務(wù)器,也就是ssh連接配置
這里的配置要看具體服務(wù)器的安全設(shè)置的,有的是通過賬戶密碼登入,有的是直接通過ssh-key登入的,或者三者都要。
我的服務(wù)器設(shè)置徐婭提供ssh-key和賬戶名就可以了。
配置項(xiàng)目的SSH設(shè)置
然后打開項(xiàng)目的配置頁面

我們需要在 構(gòu)建后操作 添加一個步驟 send build artifacts over ssh
- name:選擇之前添加的ssh設(shè)置
- source files: 表示你要上傳的文件的路徑
- remove prefix: 目錄修正 只能是source files中的路徑 因?yàn)槲募罱K上傳的路徑是remote directory+source files 通過remove prefix削減source files中的一些目錄層次
- remote directory 遠(yuǎn)程目錄,指定上傳到遠(yuǎn)程服務(wù)器的哪個目錄
- exec command: 文本框表示你在文件上傳完畢后想要執(zhí)行的命令 不填也行 紅色的警告可以無視
執(zhí)行編譯
保存配置重新執(zhí)行編譯
在控制臺輸出你會發(fā)現(xiàn)在success后多了幾行信息

檢查上傳的文件
我們可以在服務(wù)器上找到我們剛才上傳的apk文件了
注意下文件的路徑的確是/var/www/html
夠簡單吧,Just try it!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Jenkinsfile?中如何在?`sh`?步驟中執(zhí)行多行?Shell?命令(多行命令的方法)
- 如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問題
- jenkins+shell自動化部署的實(shí)現(xiàn)步驟
- Jenkins使用publish?html?report插件展示HTML報(bào)告的方法
- jenkins 實(shí)現(xiàn)shell腳本化定時執(zhí)行任務(wù)的方法
- jenkins中通過Publish Over SSH插件將項(xiàng)目部署到遠(yuǎn)程機(jī)器上的講解說明
- Jenkins中sh函數(shù)的用法示例小結(jié)
相關(guān)文章
利用Jackson實(shí)現(xiàn)數(shù)據(jù)脫敏的示例詳解
在我們的企業(yè)項(xiàng)目中,為了保護(hù)用戶隱私,數(shù)據(jù)脫敏成了必不可少的操作,那么我們怎么優(yōu)雅的利用Jackson實(shí)現(xiàn)數(shù)據(jù)脫敏呢,本文就來和大家詳細(xì)聊聊,希望對大家有所幫助2023-05-05
Java及nginx實(shí)現(xiàn)文件權(quán)限控制代碼實(shí)例
這篇文章主要介紹了Java及nginx實(shí)現(xiàn)文件權(quán)限控制代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
RestTemplate如何添加請求頭headers和請求體body
這篇文章主要介紹了RestTemplate如何添加請求頭headers和請求體body問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
如何基于Idea遠(yuǎn)程調(diào)試tomcat war包及jar包
這篇文章主要介紹了如何基于Idea遠(yuǎn)程調(diào)試tomcat war包及jar包,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
Java NumberFormat 類的詳解及實(shí)例
這篇文章主要介紹了Java NumberFormat 類的詳解及實(shí)例的相關(guān)資料,數(shù)字格式化類按照本地風(fēng)格習(xí)慣進(jìn)行的數(shù)字顯示,需要的朋友可以參考下2017-08-08
Log4j關(guān)閉Spring和Hibernate日志打印方式
這篇文章主要介紹了Log4j關(guān)閉Spring和Hibernate日志打印方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
springboot項(xiàng)目如何部署到服務(wù)器
這篇文章主要介紹了springboot項(xiàng)目如何部署到服務(wù)器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05

