jenkins+nginx自動發佈一

現在公司前端的項目就是一個文件夾,每次都是先更新svn,然後再手動將文件夾拷貝到我們的測試環境。我們的服務器是nginx,只需要替換文件,不像tomcat,還需要重啟服務器之類的,現在感覺jenkins功能很強大,所以就想著能不能把拷貝文件的動作都通過jenkins來實現,之後只需要更新svn,然後重新構建一下,就可以完成自動發佈的效果,感覺應該問題不大,說幹就幹。

1、我之前手動拷貝文件都是通過winscp,百度了一下,winscp.exe是可以直接在cmd輸入命令來傳輸文件,首先將winscp的路徑加入環境變量,如圖:


jenkins+nginx自動發佈一


jenkins+nginx自動發佈一


首先我們通過cmd命令來驗證我們的命令:

winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://username:password$

jenkins+nginx自動發佈一


首先我們通過cmd命令來驗證我們的命令:

winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://username:pwd@ip:port" "option transfer binary" "put E:/公司SVN/dist/ /home/prodUser/dzkb/dist" "exit"

這裡為了方便理解,一一解釋:

winscp421.exe /console /command    命令名

"option batch continue"         默認批處理

"option confirm off"          關閉提示信息

"open ftp://username:pwd@ip:port" usern

"open ftp://username:pwd@ip:port" username:訪問用戶名 ,pwd:用戶密碼 ,ip:ip地址,port:端口號

"option transfer binary" 使用二進制格式傳送

"exit"       ::執行完命令後退出


為了看得執行的效果,我們把"exit"去掉,

cmd裡面輸入:winscp.exe /console /command "option batch continue" "option confirm off" "open sftp://username:pwd@ip:port" "option transfer binary" "put E:/公司SVN/dist/ /home/prodUser/dzkb/dist"

執行效果如圖:

jenkins+nginx自動發佈一

可以將


jenkins+nginx自動發佈一

dist目錄下的static目錄和index.html文件拷貝到指定的目錄:


jenkins+nginx自動發佈一

拷貝文件的命令我們準備好了,下面就是將命令放到jenkins上面了。

2、打開jenkins,新建一個自由風格的項目,進入配置頁面,如圖:


jenkins+nginx自動發佈一

這邊依舊要勾選slave節點,如何配置slave,可以看我的另一篇文章"jenkins+robotframework集成UI自動化"

然後構建時選擇執行windows批處理,如圖:


jenkins+nginx自動發佈一

保存,一下,先啟動slave:


jenkins+nginx自動發佈一

然後構建我們的項目:


jenkins+nginx自動發佈一

3、這樣就將文件自動傳到指定的目錄下了,只要文件放到指定目錄,就完成包的更新,是不是又智能一些了。以後還會分享一些使用jenkins+tomcat打包部署項目、jenkins+docker部署的文章,敬請期待!!!


分享到:


相關文章: