前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Bitbucket Pipeline进行.Net Core项目的自动构建、测试和部署

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

作者头像
圣杰
发布2018-01-11 16:05:04
2.1K0
发布2018-01-11 16:05:04
举报
文章被收录于专栏:圣杰的专栏

1. 引言

首先,Bitbucket提供支持Mercurial和Git版本控制系统的网络托管服务。简单来说,它类似于GitHub,不同之处在于它支持个人免费创建私有项目仓库。除此之外,Bitbucket提供的Pipeline功能可以帮助我们进行项目的自动构建、测试和部署。

2. 使用指南

该项目是使用Abp创建的.Net Core版本的模板项目,项目结构如下:

项目结构
项目结构

点击Pipeline,我们选择.NET Core,即可创建用于配置Pipeline的配置文件bitbucket-pipelines.yml

Pipeline
Pipeline
bitbucket-pipelines.yml
bitbucket-pipelines.yml

从图中可以看出,其配置很简单,主要包括以下几个部分:

  1. image:了解过docker的同学肯定不陌生,通过指定image来告诉pipeline要拉取何种镜像用于项目编译。
  2. export:通过export指定我们要编译的项目名和测试项目名。(注意:需要使用相对路径)。
  3. dotnet:.net core的还原、编译和测试命令。

由于我们的项目是基于.net core 2.0,且分层架构如下:

分层架构
分层架构

我们要对bitbucket-pipelines.yml做以下几项修改:

bitbucket-pipelines.yml
bitbucket-pipelines.yml

修改完成,点击Commit File即刻进入Pipeline运行界面,运行结果如下:

Pipeline Execute Result
Pipeline Execute Result

至此,我们就完成了.NET Core项目的构建和测试。那如何让它自动进行这两项操作呢?简单,回到Pipeline界面,点击【Schedules】菜单,创建一个【Schedule】即可。

Create a schedule
Create a 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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-12-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 引言
  • 2. 使用指南
  • 3. 最后
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档