1. 引言
首先,Bitbucket提供支持Mercurial和Git版本控制系統的網絡托管服務。簡單來說,它類似於GitHub,不同之處在於它支持個人免費創建私有項目倉庫。除此之外,Bitbucket提供的Pipeline功能可以幫助我們進行項目的自動構建、測試和部署。
2. 使用指南
該項目是使用Abp創建的.Net Core版本的模板項目,項目結構如下:
點擊Pipeline,我們選擇.NET Core,即可創建用於配置Pipeline的配置文件bitbucket-pipelines.yml
。
從圖中可以看出,其配置很簡單,主要包括以下幾個部分:
- image:了解過docker的同學肯定不陌生,通過指定image來告訴pipeline要拉取何種鏡像用於項目編譯。
- export:通過export指定我們要編譯的項目名和測試項目名。(注意:需要使用相對路徑)。
- 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:$AZURE_PASSWORD@abpeshop.scm.azurewebsites.net/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
我的博客即將搬運同步至騰訊雲+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan