这篇文章主要介绍下使用Jenkins实现自动化部署
- 下载
https://jenkins.io/download/
按步骤安装即可,下载的是windows版本,安装完成后,会看到这样一个正在运行的服务
![](https://i-blog.csdnimg.cn/blog_migrate/0ae334e3e51c6717934c9b81f56a92b2.png)
默认端口8080,建议修改
通过安装目录下的jenkins.xml文件修改
端口修改后重启服务
通过浏览器第一次访问会看到这样一个页面(我这边不是第一次使用了,页面找不到,从网上找了个图片)
按照页面上提示的路径找到文件,得到密码输入即可
接着进入插件下载页面,可以直接选择建议插件
插件安装完成后进入以下页面,创建一个管理员帐号
我在创建完成后遇到了空白页的情况,重启下服务重新打开即可解决
jenkins建议插件中包含了svn,初始化时如果选择了建议插件,就不需要再额外去安装了
如下图,选择系统管理-》插件管理-》可选插件
Localization: Chinese (Simplified) 刚安装完时,页面一半中文,一半英文,安装此插件可解决
MSBuild Plugin 编译c#代码必需
![](https://i-blog.csdnimg.cn/blog_migrate/ba6988229a194c56f1103f8e09843d99.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e6487c9bfc6123c6587ec76c4560c13f.png)
如果服务器上已安装vs,则不需要额外安装msbuild
否则,去vs官网下载安装
https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild?view=vs-2017
这里选择哪个版本看你开发时ide使用的是什么版本,安装对应的即可(版本不要安装错误,c#6.0 7.0 的语法低版本msbuild识别不了)
注意勾选
msbuild没有问题后,打开 系统管理-》全局工具配置
找到MSBuild
新增MSBuild,名称无所谓,第二栏填入MSBuild的地址,保存即可
新建任务-》构建一个自由风格的软件项目
源码管理,选择svn填入参数
构建,选择第一个,使用msbuild构建
选择msbuild配置,填入需要构建的解决方案或者项目文件,参数我们等会再看,先这样保存运行测试下,这里路径需要注意下头部不要带/
回到主面板,点击刚刚创建的任务,立即构建
这里会出现构建任务
点击后选择控制台输出,可以看到构建过程
正常情况下,这里会看到构建成功
但是如果你的项目使用了nuget,则需要先还原nuget包,再去构建,下载nuget
https://www.nuget.org/downloads
Windows x86 Commandline
下载完成后,点击我们刚刚创建的任务,选择配置,增加构建步骤,选择批处理命令
执行刚刚下载的nuget还原解决方案,这里有一点需要注意,如果nuget.exe路径中有空格,记得加上引号(图中忘记添加---)
调整下构建步骤的顺序,先执行批处理命令
再去执行构建
我这边还遇到了一个问题,由于公司搭建了自己的nuget服务,有些包需要从公司的nuget服务上下载,所以这边抛出了错误
按照上图地址去修改nuget.config文件,加上自定义源
这时去构建应该没有什么问题了,如果还有错误,看控制台结果去解决
我们现在来来看看构建的参数,
/t:Rebuild 表示每次都重建,不使用增量编译
/P:Configuration=Release 表示编译 Release 版本
/p:DeployOnBuild=true;PublishProfile=XStore.HeadPc.Test.pubxml 发布文件
/p:AllowUntrustedCertificate=True 发布时的证书信任
这里用到了webdeploy,具体安装使用就不细说了,大家自行了解
自动生成的pubxml中不会保存密码,记得去增加一个password的节点
一般使用轮询SCM,定时获取代码,当获取到的代码发生变化时,进行构建发布,可以点击问号查看语法说明
能减少一些重复的工作,开发人员不需要每次将代码获取到本地编译后发布,也可以保证代码的最新,不会因为开发人员的疏忽,未获取最新代码