什么是持续集成呢?Continuous integration(CI)。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。
如果没有持续集成会有哪一些问题呢?模块项目接口部署不及时,接口不通。每次需要手动打包最新的代码进行部署、发布代码、线上部署都是纯手工。容易出错。浪费时间。
现在加上持续集成解决的问题呢?项目构建自动化、集成的详细信息及历史记录的记录、使用统一的管理、固定规定的部署流程、每天至少集成一次。
jenkins服务器:win7系统 (安装jenkins、git、Visual Studio 2017)
IIS目标服务器:winserver2012系统(安装IIS 、FTP)
这里我采用的是使用Tomcat配合jenkins一起使用的来达成持续集成的目的。
必须有jdk,这里用的是jdk1.8,安装:https://www.cnblogs.com/xiaoyou2018/p/9945272.html
1、从官网下载Tomcat。下载地址:https://tomcat.apache.org
apache-tomcat-8.5.49-windows-x64.zip
下载:
链接:https://pan.baidu.com/s/1GFJm_tBak9SXhsAMu1Xhrg
提取码:yf7q
下载后解压到C盘根目录并重命名。
C:\apache-tomcat
2、配置环境变量
在classpath这个变量中加入C:\apache-tomcat\bin;
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;C:\apache-tomcat\bin;
新建JAVA_HOME变量
C:\Program Files\java\jdk1.8.0_211
3.启动Tomcat
进入Tomcat中bin目录,双击startup.bat
上图界面代表启动成功,成功后不要关闭,否则就关掉了Tomcat。
测试Tomcat是否启动成功:
在浏览器地址栏输入http://localhost:8080/
若出现下图界面,则启动成功。
下载并安装Visual Studio 2017
下载并安装Git-2.24.0.2-64-bit 下载地址:
链接:https://pan.baidu.com/s/15_1KHGu9igxtg0NdRarMeQ
提取码:xmjr
验证是否安装成功,右键-“git bash here”
git --version
新建一个站点test.whenchat.com
新建一个FTP站点208ftp
身份验证选择基本
授权选择指定角色或用户组(指定可以访问FTP的账户,没有账户请新建)
权限(读写权限)
完了之后可以连接FTP验证一下(注意新建防火墙入规则)
一切准备就绪之后,就开始安装jenkins了,下载地址:jenkins.io/download/。前往地址下载jenkins的 war包。
jenkins-2.190.3.zip,下载地址:
链接:https://pan.baidu.com/s/1oM3-oGQ4eC3St8Kg1c9c3A
提取码:gfvx
然后将war包放置在前面安装的Tomcat的目录之下(C:\apache-tomcat\webapps)。
然后在浏览器中输入http://localhost:8080/jenkins/。访问,安装成功的话就会出现jenkins的界面
这里根据提示我们找到目录之下就可以获取密码了。接下来会出现插件安装的一个选择,新手直接选择新手入门推荐安装就好了。
这里有时会出现安装失败或者链接失败的情况,多试几次就好了。一般是网络的问题。
创建管理员用户之后就可以正式开始配置jenkins了。
安装Publish Over FTP插件
配置Publish Over FTP
注意remote directory为 “/”
注意 中文配置为GB2312
配置完后可以使用“test configuration”测试下FTP 是否连的通
配置git、Visual Studio 2017
新建一个项目 whenchattest
MSBuild Version :选择之前配置好的msbuild,就是Visual Studio 2017
MSBuild Build File : 需要编译的工程文件目录,我这里是选择的工程文件里C:\Users\jenkins\.jenkins\workspace\whenchattest\20.APP接口站点测试\PortTestNew\PortTestNew.csproj 后缀是.csproj的工程文件
(默认Git拉取源码存放的目录是C:\Users\jenkins\.jenkins\workspace)
Command Line Arguments : 编译文件
/t:Rebuild #重新生成
/p:VisualStudioVersion=15.0 #Visual Studio 2017对应的是15.0
/p:DeployOnBuild=True #是否打包
/p:Configuration=Release #生成Release版本
/p:OutputPath="C:\Users\jenkins\.jenkins\workspace\whenchattest\20.APP接口站点测试\PortTestNew\bin" #项目输出位置
/p:WebProjectOutputDir="C:\Users\jenkins\.jenkins\workspace\whenchattest\test.whenchat.com" #项目dll输出位置,发布的时候就是把生产的这个文件里的内容拷贝到IIS站点的目录
*注:如果生成以后需要使用ftp进行发布的话,请将项目生成到\Jenkins\workspace\中去。同时路径中存在空格时,要在路径上加上双引号,否则会出先报错:
MSBUILD : error MSB1008: 只能指定一个项目。
VisualStudioVersion=15.0 查看版本号 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe.config
通过ftp发布
点击增加构建后操作步骤,并选择下图红框内的选项。
Source files:表示当前上传的文件位置,该位置默认根目录为“Jenkins\workspace\项目名”文件夹。
Remove prefix:表示上传时,是否排除忽略某些文件夹。如上图中,如果该项为空,则在FTP指定位置上传Build文件夹及其内容。
Remote directory:ftp的目标目录
自此配置构架、发布系统完成
表示构建完成,如果构建失败,我们可以现在jenkins服务器上使用Visual Studio 2017,手动构建,看看是什么原因并解决
表示发布完成
jenkins+sonar代码质量扫描+钉钉通知
https://www.cnblogs.com/xiaoyou2018/p/12486677.html
参考:
https://www.cnblogs.com/Yuuuuu/p/8862507.html
https://juejin.im/post/5d8827b7f265da03c5034de0
https://www.cnblogs.com/shenh/p/8946404.html
https://www.jianshu.com/p/c8f30205fc5f FTP报错