打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Rock3的Linux博客 | just a tech blog

Windows Server 2012 安装Jenkins

        需要在Windows Server下使用Jenkins,本篇博客记录了在Windows Server 2012 R2上安装调试Jenkins的过程,Jenkins版本选择为1.584,本篇博客耗时6小时。

一、准备工作

        准备好如下软件环境或安装包:

  • Windows Server 2012 R2
  • jenkins-1.584.zip安装包
  • SVN客户端,选择TortoiseSVN,TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi
  • ant用于编译Java工程,apache-ant-1.9.4-bin.zip
  • msbuild用于编译Visual Studio工程,默认在.NetFramework中集成,Windows Server 2012 R2默认安装,版本为4.0
  • jdk,用于编译java工程,为ant所依赖
  • vs2012(本不用安装vs2012,但是在使用msbuild的时候会报错,安装vs2012解决该问题,下文会描述详细信息)

二、安装

        将准备工作中的软件包都安装到windows server 2012 R2上,并设置相关的环境变量,并实验验证其可用性:

  • jenkins默认安装好的地址:http://localhost:8080
  • 设置JAVA_HOME等jdk环境变量
  • ant的bin目录、JAVA_HOME\bin、JAVA_HOME\jre\bin,msbuild.exe路径,要加到系统变量PATH中去
  • 在cmd中实验java,javac,ant,msbuild.exe可用即可。

三、新建msbuild编译构造项目

  1. 首先通过http://localhost:8080地址访问Jenkins服务(当然,配置好防火墙也可以远程访问),点击“新建”按钮,来新建一个Jenkins工程。需要说明的是,Jenkins可以远程调度编译任务,能将需要编译工作安排到远端节点完成,但是本文中使用的是本地编译,也即master节点编译,这么做的好处是能够避免因为Jenkin远端代理的稳定性问题而带来的整个系统不稳定,此前出现过Windows 7编译节点不间断的掉线的问题。

  1. 填写编译项目的名称,我的习惯是Project-OS-Platform,通常选择“构建一个自由风格的软件项目”,如果此前有类似的项目,可以选择“复制已有的item”,点击“OK”,下一步输入对该项目的简单描述:
  2. 设置SVN源,输入完成后Jenkins会自动监测该SVN地址是否能够checkout, 如果第一次输入,需要点“enter credential”输入该SVN的用户m
  3. 接着,可以设置合适触发该构建工程,如下图所示,这里没有设置,实际是手动触发。然后设置具体的构建步骤,本项目使用了两种:msbuild和windows的bat脚本(一个用于编译vs2012工程,一个用于编译jna项目)。需要注意的是msbuild的commandline arguments的写法。
  4. 最后,可以设置构建完成后的工作,例如上传到svn备份,被项目没有设置。

  1. 点解“保存”后,手动点击“立即构建”按钮,在构建历史中会出现构建的图标,红色表示失败,点击以时间命令的本次构建事件,再点击Console Output可以显示此次编译构建的具体过程,如果失败的话,根据打印找失败的原因

最后,我在该工作中遇到两个小问题:

  1. Windows Server 2012自带.NetFramework,本身就有msbuild,本以为不用再安装其他编译工具,但是在编译vs2012的项目时,会报错:“error MSB4019: Theimported project "C:\Microsoft.Cpp.Default.props" was not found”,参考1和参考2用于解决此问题,本文中直接安装了vs2012,而没有去设置注册表(因为我发现相关目录确实没有Microsoft.Cpp.Default.props文件,只有安装了vs2012才有)
  2. Jenkins在做svn checkout的时候,会看本地时间和服务器的时间对比,我这出现过时间问题导致Jenkins认为没必要做checkout的情况,通过调整时间解决此问题。
  3. 一个SVN连不上的问题,只有Windows平台才有:https://issues.jenkins-ci.org/browse/JENKINS-13835,最终发现是与SVN服务器本身的防火墙有关系,关闭防火墙即可。(实际上与某个端口有关,暂时未确认具体端口)

参考:

1.https://social.msdn.microsoft.com/Forums/vstudio/en-US/141b5a9d-13cf-4f71-beb3-1b521d2881ba/build-failure-after-installing-tfs-2013-preview-the-imported-project

2.http://stackoverflow.com/questions/16092169/why-does-msbuild-look-in-c-for-microsoft-cpp-default-props-instead-of-c-progr

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Jenkins 的svn插件下载的代码不是最新代码的问题
【Jenkins】Jenkins集成Android全自动参数化打包专题
一文搞定SonarQube接入C#(.NET)代码质量分析
项目管理实践【三】每日构建【Daily Build Using CruiseControl.NET and MSBuild】
使用Jenkins配置自动化构建
基于GO的windows环境下net项目的持续集成demo
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服