敏捷之路 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}
      
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容