敏捷之路 C++ (一) jenkins配置-VS工程自动编译基本配置

Windows安装Jenkins

Windows安装Jenkins主要有两种方式

  1. 直接安装 使用Jenkins官网的msi安装,使用其自带的web服务,需要联网,有时候会莫名其妙卡住,建议科学上网安装,然后就是默认工作区路径会指向用户路径,这个路径下由于权限问题无法正常工作解决方法
  2. 使用tomcat 这个方式比较推荐也好管理,安装tomcat,不会百度下tomcat教程。不过有时候也会碰到莫名其妙的问题,比如说刚装好的tomcat装载JENKINS的时候会无法启动或者关闭。一般来说重启电脑就行。注意要提前配置环境变量 CATALINA_HOME与JENKINS_HOME,然后做好tomcat的配置,否则仍然会出现工作区目标不正确的情况。装载jenkins之前先创建好tomcat账户并做好配置以避免一些莫名其妙的问题
  3. 然后修改tomcat/jenkins服务的登录用户 在计算机管理->服务->tomcat右键属性->登录中 填写你登陆计算机的账户和密码,然后重启tomcat,否则的话在jenkins中配置时使用你当前用户安装的程序会有问题
修改登陆账户

关于安装这块官方资料齐全就不浪费时间了。

配置jenkins

接下来启动 jenkins并按照默认设置一路下一步就行了。

成功启动jenkins并检查确认jenkins工作区无误后就可以开始配置jenkins以及自动编译VS项目的相关环境了。

建议: 所有需要安装的工具例如git,python,svn等尽量不要安装在Program Files中,自己重新指定一个没有权限问题,纯英文无特殊符号及空格等的路径。

接下来安装插件

首先是使用vs项目必不可少的MSBuild插件

以及多源项目需要的Multiple SCMs plugin
如果你需要邮件通知则安装Email Extension Plugin

建议安装一个你的工程所需版本的Visual Studio

一方面MSBUILD可以直接用,另一方面如果自动编译出问题 可以使用VS打开你的项目进行调试

整理你的工程

通常一个相对比较大的多项目工程,如果不是一直严格按照标准配置,很难保证获取工程可以成功编译建议从以下几个角度检查

  1. 项目间依赖是否清晰,工程中是否存在仅使用手动生成的项目。
项目依赖
  1. 工程依赖是否完整包含于项目内。如果图方便手动引入了项目工程外的库/文件则需要改动到包含于项目内。

  2. 使用路径是否存在绝对路径,如果在配置的目录项中使用了绝对路径,则修改为相对路径,如果存在跨项目路径引用,则需要在JENKINS工作区使用sub-directory重建一样的路径配置。

    QQ截图20210303143302
路径
  1. 检查你的后期生成事件,后期生成事件指令是否存在环境依赖,绝对路径。

  2. 如果你需要打包发布多个版本,还需要检查不同的配置是否都正常。

配置好了工程可以从远端克隆一个新的直接编译试一下。可以成功编译就可以配置jenkins项目了。

配置jenkins项目

  1. 在管理jenkins->GlobalToolConfiguration->指定msbuild路径,一般在“C:\Program Files (x86)\MSBuild\14.0\Bin”,如果没有找到可以下一个everything搜索一下

    设置
    MSBUILD
    QQ截图20210303145120
  2. 新建一个空工程
    工程
  3. 添加项目代码源,添加登录key

设置账号

添加账号密码时有时候第一次添加的会无效,那就再添加一次并选择第二个。通常就可以了。

  1. 添加构建配置
    新增构建
    构建参数

    由于是自动打包,建议clean + rebuild 如果要打包多个版本 就增加多个构建步骤,

  2. 添加windows指令进行后续工作,我这里通过python脚本是拷贝输出的文件到svn目录上传,记得一开始说的修改服务的登录用户吗 ?如果使用的用户与你当前在系统中使用的用户一致,你可以自己在cmd中完成需要执行的工作然后把命令复制过来即可,否则的话你可能需要另外添加临时环境变量

    执行命令

  3. 配置你的邮件通知。

  1. 乱码问题
    jenkins默认设置中文会遇到乱码问题
    根据你的配置方案不同解决方式不同。一般是添加环境变量以及修改jenkins.xml文件 但是对于部署在tomcat中的jenkins是没有这个xml的 可以按照如下步骤解决

    • 找到tomcat/conf/server.xml 编辑Connector项 添加 URIEncoding="UTF-8"
    • 在tomcat/bin中创建setenv.bat 并添加 set JAVA_POTS=%JAVA_OPTS%;-Dfile.encoding=UTF-8
    • 添加系统环境变量JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8
    • 在配置->全局属性中设置JENKINS键值对 LANG = zx_CN.UTF-8
  2. 使用环境变量

    • 在windows批指令中获取环境变量可以使用:

      cd  %WORKSPACE%
      
    • 在powershell中使用

      cd $ENV:WORKSPACE
      
    • 在linux shell中是使用

      cd  ${WORKSPACE}
      

你可能感兴趣的:(敏捷之路 C++ (一) jenkins配置-VS工程自动编译基本配置)