程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 基於Jenkins快速搭建持續集成環境,jenkins搭建集成

基於Jenkins快速搭建持續集成環境,jenkins搭建集成

編輯:C#入門知識

基於Jenkins快速搭建持續集成環境,jenkins搭建集成


看了園友張善友的博文,嘗試成功.便有此作.原網址:http://www.cnblogs.com/shanyou/p/3750714.html

  天下事有難易乎?為之,則難者亦易矣;不為,則易者亦難矣.

 

首先要學會使用MSBuild構建腳本

附網址:http://www.infoq.com/cn/articles/MSBuild-1.

目標:學會用MSBuild編譯程序,主要用於asp.net 或者 asp.net mvc.

最終,我寫的腳本如下:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<ItemGroup>
	<BuildArtifactsDir Include="UI\bin\" />
	<SolutionFile Include="HelloCI.sln" />
</ItemGroup>

<PropertyGroup>
	<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
	<BuildPlatform Condition=" '$(BuildPlatform)' == '' ">Any CPU</BuildPlatform>
</PropertyGroup>


<Target Name="Init" DependsOnTargets="Clean">
	<MakeDir Directories="@(BuildArtifactsDir)" />
</Target>

<Target Name="Clean">
	<RemoveDir Directories="@(BuildArtifactsDir)" />
</Target>

<Target Name="Compile" DependsOnTargets="Init">
 <MSBuild Projects="@(SolutionFile)" Targets="Rebuild"
          Properties="OutDir=%(BuildArtifactsDir.FullPath);Configuration=$(Configuration);Platform=$(BuildPlatform)" />
</Target>

</Project>


<!--msbuild HelloCI.msbuild /t:Compile /p:VisualStudioVersion=12.0 -->

 

腳本的最後一行注釋,是構建的命令./p:VisualStudioVersion=12.0是指明版本,如果不指明會報錯,找不到某文件.

 

Jenkins+tortoisesvn+MSBuild做到持續集成

附Jenkins的使用:http://www.infoq.com/cn/articles/MSBuild-2

先大概閱讀上面的網址對應的文章.注意:我用的版本控制器是tortoisesvn;此外,post-commit的鉤子我也會說明.

1.安裝Jenkins(穩定版本即可),裝好後 進入左側 系統管理,點擊 管理插件, 安裝MSBuild插件.

2.使用Jenkins新建一個自由風格的軟件項目.配置如下:

 

主要是配置svn的地址和賬號密碼;構建觸發器不用選,後面會用鉤子.

然後是構建,配置如下:

HelloCI.msbuild是構建腳本的文件名.其次,參數是一定要填的.

其他的不用理,直接保存.

項目列表,如下圖:

 

此時,用svn上傳一個項目(不包含bin),項目根目錄要有HelloCI.msbuild這個文件.

上傳完成後,點擊 上圖中的 立即構建 .用IIS等軟件看網站是否可以訪問.

如果成功,下一步就是如何觸發構建.畢竟,每提交一次,就去服務器立即構建一次,是重復動作.要用觸發構建'封裝'.

用tortoisesvn的post-commit鉤子觸發構建

首先,要明白一點.在Jenkins的項目列表裡,除了點擊 立即構建 .還可以通過訪問

  http://localhost:8080/job/JOBNAME/build?delay=0sec(JOBNAME需要替換成真實的job名稱),讓Jenkins啟動構建。(請自己測試,通過後,繼續看下邊的.)

tortoisesvn的鉤子設置如下:

 

HelloCIHook.exe是什麼呢?你應該可以想到了,就是一個小程序,執行它會訪問能觸發構建的url.

代碼如下:

    class Program
    {
        
        static void Main(string[] args)
        {
            const string url = "http://localhost:8080/job/HelloCI/build?delay=0sec";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            req.Method = "GET";
            req.KeepAlive = false;
            req.GetResponse();
        }
    }

 

到這兒就結束了.

總結下流程,用svn提交代碼後,鉤子觸發HelloCIHook.exe這個程序,該程序訪問了一個url,進而觸發了Jenkins的構建(執行的MSBuild構建腳本).Jenkins以最新的代碼庫進行了構建,生成了bin(也可以是其他)目錄下的文件.網站成功更新.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved