构建成功后,Test.pubxml会指定发布的包的路径(最好是放到工作空间下),按照思路,接下来就是要想办法把发布包Copy到应用服务器的根目录下。由于我们的应用服务器都是windows系统,因此不能像linux系统一样通过ssh远程Copy过去,当时能想到的就是使用Ftp直接上传到应用服务器。
1.安装插件与环境Jenkins 安装插件Publish Over FTP,应用服务器上需开启Ftp。
2.全局配置系统管理->系统配置下找到Publish over FTP配置项
Name:起个名字,后面项目配置里会用的到
HostName:Ftp主机名(端口号默认21,在高级里面可以改)
Username:Ftp用户名
Password:Ftp密码
3.项目配置打开我们之前建的项目,找到构建后操作->增加构建后操作步骤->Send build artifacts over FTP
Name:选择全局配置里的
Source files:选择你的发布包路径(这里是相对于工作空间的路径)
Remote directory:放到远程的哪个路径里(这里是相对于Ftp根目录的路径)
配置完成后,点击保存,构建即可!
六、结束语如上,就基本实现了我们的自动化发布的需求,这期间从早晨六点开始,差不多中午就完成了,当然也并不像上面介绍的那么简单,期间也遇到了许多问题,构建了大概一百多次,才最终成功了第一次。本文主要介绍实现自动化部署的一种基本的思路,当然还有很多方案可以实现我们的需求,甚至不仅仅局限于Jenkins。而这种方案其中也有许多细节的地方在文章中没有提到,如:如何实现自动化的Nunit单元测试,如何定时构建......,因为当时我在完成之后也给我的团队成员提供了一个非常详细的配置文档,并且培训了很多次,但事实证明,讲的越详细越会限制他们自己的主动思考与动手的能力。这也导致了后来我去做其他工作的时候,我们将近一年的时间还是停留在我这半天的研究结果的层面上,而生产环境更是迟迟没有使用。其实思路才是最重要的,有了思路我们就可以通过各种方式来解决我们的问题,还是建议大家注重解决问题的思路,多动手,自己实践,才能学得更透!关于.NET 平台下Jenkins实现持续集成与自动化部署的落地与实现的问题与讨论,可以在文章下留言。