码迷,mamicode.com
首页 > Web开发 > 详细

使用Bitbucket Pipeline进行.Net Core项目的自动构建、测试和部署

时间:2017-12-11 11:18:34      阅读:862      评论:0      收藏:0      [点我收藏+]

标签:构建   pass   web   one   soft   免费   告诉   bucket   post   

技术分享图片

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:$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

使用Bitbucket Pipeline进行.Net Core项目的自动构建、测试和部署

标签:构建   pass   web   one   soft   免费   告诉   bucket   post   

原文地址:http://www.cnblogs.com/sheng-jie/p/8021663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!