1. 程式人生 > >使用Bitbucket Pipeline進行.Net Core項目的自動構建、測試和部署

使用Bitbucket Pipeline進行.Net Core項目的自動構建、測試和部署

net yml cimage 參考 www 模板 -c 免費 clas

技術分享圖片

1. 引言

首先,Bitbucket提供支持Mercurial和Git版本控制系統的網絡托管服務。簡單來說,它類似於GitHub,不同之處在於它支持個人免費創建私有項目倉庫。除此之外,Bitbucket提供的Pipeline功能可以幫助我們進行項目的自動構建、測試和部署。

2. 使用指南

該項目是使用Abp創建的.Net Core版本的模板項目,項目結構如下:
技術分享圖片

點擊Pipeline,我們選擇.NET Core,即可創建用於配置Pipeline的配置文件bitbucket-pipelines.yml

技術分享圖片

技術分享圖片

從圖中可以看出,其配置很簡單,主要包括以下幾個部分:

  1. image:了解過docker的同學肯定不陌生,通過指定image來告訴pipeline要拉取何種鏡像用於項目編譯。
  2. export:通過export指定我們要編譯的項目名和測試項目名。(註意:需要使用相對路徑)。
  3. dotnet:.net core的還原、編譯和測試命令。

由於我們的項目是基於.net core 2.0,且分層架構如下:
技術分享圖片

我們要對bitbucket-pipelines.yml做以下幾項修改:
技術分享圖片

修改完成,點擊Commit File即刻進入Pipeline運行界面,運行結果如下:

技術分享圖片

至此,我們就完成了.NET Core項目的構建和測試。那如何讓它自動進行這兩項操作呢?簡單,回到Pipeline界面,點擊【Schedules】菜單,創建一個【Schedule】即可。

技術分享圖片

那如何完成部署呢?

因為我使用的Micosoft Azure進行部署,所以按照官方文檔Deploy to Microsoft Azure,我們僅需在bitbucket-pipelines.yml

後面添加一條git push命令即可,如下:
- git push https://$AZURE_LOGIN:[email protected]/Abpeshop.git master
其中$AZURE_LOGIN$AZURE_PASSWORD是Azure的部署憑據,我們需要在我們當前項目倉庫中定義環境變量,如下圖所示:
技術分享圖片

最後無圖無真相:
技術分享圖片

3. 最後

Bitbucket提供的Pipeline的免費構建時間為50mins/月,但對於我們簡單嘗鮮來說是足夠了!當然如果不夠用,其付費策略也很優惠,2$/月,擁有500mins/月的構建時間。
當然微軟的VSTS,也是一個很好地選擇。

參考文章:
.NET Core 2.0 持續集成,持續發布環境
Building NuGet (.NET Core) Using Atlassian Bitbucket Pipelines
Building .NET Core apps with BitBucket Pipelines and Docker

使用Bitbucket Pipeline進行.Net Core項目的自動構建、測試和部署