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目录下.