Jenkins結合.net平臺之ftp客戶端

上一節咱們講解了如何配置ftp服務端,本節咱們講解如何使用winscp搭建ftp客戶端,爲何使用winscp而不是filezilla客戶端版,前面咱們簡單說過,這裏再也不贅述. git

下載winscp之後咱們點擊下一步直到安裝完成,這裏並無什麼須要注意的. github

安裝完成之後咱們並不打開winscp由於咱們須要自動化操做,圖形化操做幾乎沒法完成自動化.咱們對着winscp桌面圖標右擊,選擇-屬性,而後從屬性裏打開文件所在位置,你將會看到以下相似內容 web

這個目錄下的WinSCpnet.dll爲.net平臺編程提供了接口,咱們使用此dll編寫一個powershell腳本,以實現自動化部署. shell

咱們編寫好的powershell腳本內容以下(會提供在github上) 編程

我對以上文件進行的簡單註釋,以方便理解. windows

看完以上配置之後,有的讀者可能會納悶這裏的用戶名,密碼是哪來的呢.答案是咱們在FileZilla服務器上配置的.下面咱們講一下FileZilla服務器如何配置用戶 服務器

咱們打開FileZilla server點擊上方工具欄小人圖標 工具

會出現如下窗口 ui

咱們點擊Add按鈕,即可以添加一個用戶了. spa

 

咱們在彈出的添加用戶帳戶框中輸入用戶名

點擊肯定之後返回主界面,此時咱們勾選,password,即可以添加用戶密碼

咱們點擊Shared folders會出現下面對話框

此時右邊選中的users中高亮的爲剛纔建立的typer用戶,咱們點擊上圖紅色框選的add按鈕,爲這個用戶添加能夠操做的文件夾

選擇文件夾後,咱們勾選如下權限

默認權限爲讀,若是不勾選寫,則沒法建立文件和文件夾,也就沒法發佈了.

而後咱們點擊左下角ok按鈕,完成建立

打開jenkins,咱們新建一個名爲uploadtoftp的項目,此次在add build step裏選擇windows powershell,注意你沒有安裝powershell插件,則沒法看到此選項,關於安裝powershell Jenkins插件,前面咱們講到過,略過的朋友能夠參考一下.

在命令欄裏輸入如下命令

這個ps1腳本提供在了github上的示例項目裏,目錄和上圖中對應目錄相同,在toos目錄下.

須要特別說明的是,句首的&符號是必不可少的,它用於指示powershell後面的文本爲一個命令,而不是普通的文本,若是沒有&符,則後面的內容會被看成文本處理!

點擊save,而後執行build now,若是配置沒有問題,則會生成一條成功構建記錄

點擊此構建記錄,查看console out控制檯輸出,內容以下

能夠每一個文件上傳都生成了一個成功日誌文件.

打開iis web目錄(咱們在前面配置的當前上傳用戶的上傳目錄)

注.filezilla server和winscp安裝程序都提供在git示例項目的tools目錄下.

相關文章
相關標籤/搜索