分享

Rock3的Linux博客 | just a tech blog

 Humen_ 2017-07-17

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编译节点不间断的掉线的问题。

icon_new

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

save

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

runrecorddetail

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

  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./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:///questions/16092169/why-does-msbuild-look-in-c-for-microsoft-cpp-default-props-instead-of-c-progr

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多