首先,Bitbucket提供支持Mercurial和Git版本控制系统的网络托管服务。简单来说,它类似于GitHub,不同之处在于它支持个人免费创建私有项目仓库。除此之外,Bitbucket提供的Pipeline功能可以帮助我们进行项目的自动构建、测试和部署。
该项目是使用Abp创建的.Net Core版本的模板项目,项目结构如下:
点击Pipeline,我们选择.NET Core,即可创建用于配置Pipeline的配置文件bitbucket-pipelines.yml
。
从图中可以看出,其配置很简单,主要包括以下几个部分:
由于我们的项目是基于.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的部署凭据,我们需要在我们当前项目仓库中定义环境变量,如下图所示:
最后无图无真相:
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