利用VSTS實現Daily Build

來源:互聯網
上載者:User

1、建立Team Build Type,“Project1Build”

2、建立批處理,"C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/TfsBuild.exe" start Server1  "Project1" "Project1Build"。利用Windows內建的任務計劃,執行批處理。Server1是伺服器,Project1是項目,Project1Build是構建類型。

3、自己寫一個郵件通知群組件,通知團隊成員編譯結果,將通知命令放入到上面的批處理中。

需要用到下面的兩個WebService

http://Server1:8080/Build/v1.0/BuildController.asmx

http://Server1:8080/Build/v1.0/BuildStore.asmx

下面的代碼是擷取BuildData資訊。

                BuildStore bi = new BuildStore();
                bi.Credentials = System.Net.CredentialCache.DefaultCredentials;
                BuildData[] builds = null;
                try
                ...{
                    builds = bi.GetListOfBuilds(_teamProject, _buildType);
                }
                catch (Exception e)
                ...{
                    Log.LogError("Exception when calling Webservice: " + bi.Url, e.ToString());
                    throw;
                }

                if (builds != null)
                ...{
                    foreach (BuildData bd in builds)
                    ...{
                        if (bd.BuildQuality == "Unexamined")
                        ...{
                            ClientBuildData data = new ClientBuildData();
                            data.BuildUri = bd.BuildUri;
                            data.DropLocation = bd.DropLocation;
                            data.BuildNumber = bd.BuildNumber;
                            data.BuildStatus = bd.BuildStatus;
                            data.StartTime = bd.StartTime;
                            this.buildDatas.Add(data);
                        }
                    }
                }
                return true;

發送郵件通知的代碼我就不貼了,到處都是。

4、做安裝盤也可以寫成批處理,無非是copy編譯好的dll到安裝目錄。還有一點就是可能需要從VSS中擷取Sql等。可以通過:tf get "//Server1/Sql" /force /recursive ,上MSDN尋找一下VSS的tf命令吧。

做完這些事情之後,每天上班,就會看到半夜build的情況,如果有問題,馬上就能發現。當需要做安裝盤的時候,只是選擇編譯成功的build,執行一下批處理即可。如果寫了UnitTest,作用更大。實現Daily build,目的就是讓開發過程中的問題及時暴露、及時修複。另外一點就是提高做build的效率。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.