jenkins部署经验分享

1.内网安装插件

如果在内网安装Jenkins插件,可以考虑在有外网的地方安装完插件,把插件目录下对应的文件夹及文件Copy到内网。 Jenkins有丰富的插件: http://localhost:8080/pluginManager/ 

如:

image

2.配置TFS及MSBuild

访问:http://localhost:8080/configure  可以配置TFS\MSBuild

如果不想这么配置的话,直接在环境变量里加上:(不推荐哈)

C:\Program Files\TortoiseGit\bin;C:\Program Files (x86)\VisualSVN\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;C:\Program Files (x86)\MSBuild\12.0\Bin

3.TFS配置注意事项:

http://xxx.xxx.xxx.xxxx:8888/tfs/DefaultCollection    不要忘记DefaultCollection

4.MSBuild配置注意事项:

/p:Configuration=Sharepoint /p:VisualStudioVersion=12.0 /p:DeployOnBuild=true /p:PublishProfile=”C:\Program Files (x86)\Jenkins\workspace\xxxprj\Web\Properties\PublishProfiles\Jenkins.AutoDeploy.pubxml

编译完之后,可以再执行一些cmd命令

建议使用VS先创建一个发布配置,这样子直接在MSBuild中可以使用。

5.参考配置:

<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description></description>
  <keepDependencies>false</keepDependencies>
  <properties/>
  <scm class="hudson.plugins.tfs.TeamFoundationServerScm" plugin="tfs@3.1.1">
    <serverUrl>http://xxxx.xxxx.xxx.xxx:xxxx/tfs/DefaultCollection</serverUrl>
    <projectPath>$/xxxx.Web</projectPath>
    <localPath>.</localPath>
    <workspaceName>Hudson-${JOB_NAME}-${NODE_NAME}</workspaceName>
    <userPassword>cGFzczAxIQ==</userPassword>
    <userName>xxxx\dq</userName>
    <useUpdate>true</useUpdate>
  </scm>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.plugins.msbuild.MsBuildBuilder plugin="msbuild@1.23">
      <msBuildName>(Default)</msBuildName>
      <msBuildFile>IFund.Web.sln</msBuildFile>
      <cmdLineArgs>/p:Configuration=Sharepoint /p:VisualStudioVersion=12.0 /p:DeployOnBuild=true /p:PublishProfile=&quot;C:\Program Files (x86)\Jenkins\workspace\xxx.Web\Properties\PublishProfiles\Jenkins.AutoDeploy.pubxml&quot;</cmdLineArgs>
      <buildVariablesAsProperties>false</buildVariablesAsProperties>
      <continueOnBuildFailure>false</continueOnBuildFailure>
      <unstableIfWarnings>false</unstableIfWarnings>
    </hudson.plugins.msbuild.MsBuildBuilder>
    <hudson.tasks.BatchFile>
      <command>xcopy /E /C /Y &quot;C:\Jenkins\Web&quot; &quot;C:\target&quot;
xcopy /E /C /Y &quot;C:\Jenkins\workflow&quot; &quot;C:\target\workflow\&quot;</command>
    </hudson.tasks.BatchFile>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>

6.参考文章

http://nakedalm.com/configuring-jenkins-talk-tfs-2013/

http://www.ganshani.com/blog/2014/03/build-automation-using-jenkins-and-tfs-repository/

如遇到问题,可以查看日志

Leave a Reply