Jenkins 編譯后使用SSH發(fā)布詳解
前言
想要實(shí)現(xiàn)自動(dòng)發(fā)布編譯好的apk,我們可以使用官方插件庫(kù)里的如下插件。
你可以使用FTP SSH等方式自動(dòng)化發(fā)布,當(dāng)然你也可以寫(xiě)腳本實(shí)現(xiàn)復(fù)雜的發(fā)布操作。
我以Publish Over SSH為例簡(jiǎn)單講解下(主要是目前沒(méi)部署FTP服務(wù) TAT)
因?yàn)椴恢涝趺词褂眠@個(gè)插件,所以我查看了下官方文檔
https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin
看得懂E文的推薦去看看,比我講的詳細(xì)的多了。
這也算是能力的鍛煉吧。
不廢話,具體實(shí)現(xiàn)的最簡(jiǎn)單步驟如下
SSH連接設(shè)置
點(diǎn)主頁(yè)左側(cè)菜單的系統(tǒng)管理 選擇系統(tǒng)設(shè)置 在系統(tǒng)設(shè)置頁(yè)面找到找到SSH配置段
- Passphrase:表示登入密碼
- path to key:SSH-key文件存放路徑 文件路徑可以是絕對(duì)路徑 也可以是相對(duì)路徑(相對(duì)于jenkins的工作目錄)
- key:SSH-key具體的key文本 作用同上 設(shè)置其中一個(gè)即可
- disable exec: 表示是否運(yùn)行執(zhí)行命令 因?yàn)槟阍诎l(fā)布之后可能需要通過(guò)命令操作服務(wù)器,比如上傳編譯好的網(wǎng)站文件然后重啟服務(wù)器上的tomcat
- name: 一般寫(xiě)成 用戶名@主機(jī)名 比如root@blog.cooderstory.cn 當(dāng)存在多個(gè)ssh配置文件的時(shí)候 我們使用name來(lái)區(qū)分
- hostanme:表示需要登入的遠(yuǎn)程主機(jī) 可以和我一樣寫(xiě)個(gè)域名或者具體的ip
- username: 就是登入的用戶名
- remote directory: 表示遠(yuǎn)程路徑 登入到服務(wù)器后想打開(kāi)哪個(gè)目錄
這段SSH的配置主要是讓jenkins能通過(guò)shh連接到服務(wù)器,也就是ssh連接配置
這里的配置要看具體服務(wù)器的安全設(shè)置的,有的是通過(guò)賬戶密碼登入,有的是直接通過(guò)ssh-key登入的,或者三者都要。
我的服務(wù)器設(shè)置徐婭提供ssh-key和賬戶名就可以了。
配置項(xiàng)目的SSH設(shè)置
然后打開(kāi)項(xiàng)目的配置頁(yè)面
我們需要在 構(gòu)建后操作 添加一個(gè)步驟 send build artifacts over ssh
- name:選擇之前添加的ssh設(shè)置
- source files: 表示你要上傳的文件的路徑
- remove prefix: 目錄修正 只能是source files中的路徑 因?yàn)槲募罱K上傳的路徑是remote directory+source files 通過(guò)remove prefix削減source files中的一些目錄層次
- remote directory 遠(yuǎn)程目錄,指定上傳到遠(yuǎn)程服務(wù)器的哪個(gè)目錄
- exec command: 文本框表示你在文件上傳完畢后想要執(zhí)行的命令 不填也行 紅色的警告可以無(wú)視
執(zhí)行編譯
保存配置重新執(zhí)行編譯
在控制臺(tái)輸出你會(huì)發(fā)現(xiàn)在success后多了幾行信息
檢查上傳的文件
我們可以在服務(wù)器上找到我們剛才上傳的apk文件了
注意下文件的路徑的確是/var/www/html
夠簡(jiǎn)單吧,Just try it!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Jenkinsfile?中如何在?`sh`?步驟中執(zhí)行多行?Shell?命令(多行命令的方法)
- 如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問(wèn)題
- jenkins+shell自動(dòng)化部署的實(shí)現(xiàn)步驟
- Jenkins使用publish?html?report插件展示HTML報(bào)告的方法
- jenkins 實(shí)現(xiàn)shell腳本化定時(shí)執(zhí)行任務(wù)的方法
- jenkins中通過(guò)Publish Over SSH插件將項(xiàng)目部署到遠(yuǎn)程機(jī)器上的講解說(shuō)明
- Jenkins中sh函數(shù)的用法示例小結(jié)
相關(guān)文章
詳解Java8新特性之interface中的static方法和default方法
這篇文章主要介紹了Java8新特性之interface中的static方法和default方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08java實(shí)現(xiàn)簡(jiǎn)單解析XML文件功能示例
這篇文章主要介紹了java實(shí)現(xiàn)簡(jiǎn)單解析XML文件功能,結(jié)合實(shí)例形式分析了java針對(duì)xml文件的讀取、遍歷節(jié)點(diǎn)及輸出等相關(guān)操作技巧,需要的朋友可以參考下2017-10-10通過(guò)實(shí)例了解Java Integer類和int的區(qū)別
這篇文章主要介紹了通過(guò)實(shí)例了解Java Integer類和int的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Java實(shí)現(xiàn)上傳和下載功能(支持多個(gè)文件同時(shí)上傳)
這篇文章主要介紹了Java實(shí)現(xiàn)上傳和下載功能,支持多個(gè)文件同時(shí)上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12java使用MulticastSocket實(shí)現(xiàn)多點(diǎn)廣播
這篇文章主要為大家詳細(xì)介紹了java使用MulticastSocket實(shí)現(xiàn)多點(diǎn)廣播,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01java中request對(duì)象各種方法的使用實(shí)例分析
這篇文章主要介紹了java中request對(duì)象各種方法的使用,結(jié)合完整實(shí)例形式較為詳細(xì)的分析了request對(duì)象的功能及其常用方法的使用技巧,需要的朋友可以參考下2015-12-12spring boot中使用RabbitMQ routing路由詳解
本篇文章主要介紹了spring boot中使用RabbitMQ routing路由詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Java DefaultListableBeanFactory接口超詳細(xì)介紹
這篇文章主要介紹了Java DefaultListableBeanFactory接口,DefaultListableBeanFactory是整個(gè)bean加載的核心部分,是Spring注冊(cè)機(jī)加載bean的默認(rèn)實(shí)現(xiàn)2022-11-11