自动化部署-Jenkins+SVN+MSBuild

  这篇文章主要介绍下使用Jenkins实现自动化部署web

  1. 下载

https://jenkins.io/download/c#

  1. 安装

按步骤安装便可,下载的是windows版本,安装完成后,会看到这样一个正在运行的服务windows

  1. 初次使用

默认端口8080,建议修改浏览器

经过安装目录下的jenkins.xml文件修改服务器

端口修改后重启服务app

经过浏览器第一次访问会看到这样一个页面(我这边不是第一次使用了,页面找不到,从网上找了个图片)dom

按照页面上提示的路径找到文件,获得密码输入便可ide

接着进入插件下载页面,能够直接选择建议插件svn

插件安装完成后进入如下页面,建立一个管理员账号工具

我在建立完成后遇到了空白页的状况,重启下服务从新打开便可解决

  1. 插件安装

jenkins建议插件中包含了svn,初始化时若是选择了建议插件,就不须要再额外去安装了

以下图,选择系统管理-》插件管理-》可选插件

Localization: Chinese (Simplified) 刚安装完时,页面一半中文,一半英文,安装此插件可解决

MSBuild Plugin 编译c#代码必需

  1. 配置msbuild

若是服务器上已安装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的地址,保存便可

 

  1. 新建任务

新建任务-》构建一个自由风格的软件项目

源码管理,选择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的节点
 
  1. 关于触发器

通常使用轮询SCM,定时获取代码,当获取到的代码发生变化时,进行构建发布,能够点击问号查看语法说明

  1. 总结

能减小一些重复的工做,开发人员不须要每次将代码获取到本地编译后发布,也能够保证代码的最新,不会由于开发人员的疏忽,未获取最新代码

相关文章
相关标签/搜索