65.9K
CodeProject 正在变化。 阅读更多。
Home

如何保持发布到 Azure 的代码质量?

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2017年1月19日

CPOL

7分钟阅读

viewsIcon

5768

部署到 Microsoft Azure 系列文章的第三部分

这是关于部署到 Microsoft Azure 系列的第三部分。点击此处查看其他部分

我们如何避免将有缺陷的代码部署到生产环境?如果我们有一个良好的 CI 流程,我们可能会处理这个问题。如果我们使用 TeamCity 或 TFS 等工具。运行自动化测试和代码分析。坚持在提交更改前进行代码评审。在一个繁忙的项目中,很难跟踪所有事情。

我们可以利用 BitBucket 中的拉取请求来简化我们的工作流程。它们允许我们对代码更改发表评论。如果一项更改未能通过评审,我们可以在修复之前等待它。这是帮助团队维护代码质量的强大方法。我相信持续集成和部署是软件交付的最终目标。不过,设置它需要时间和精力。并非所有项目和团队都已准备好迈出这一步。

在本文中,我们将重点关注拉取请求。我们将看到它们如何成为一个出色的代码评审工具。我们将介绍一个简化部署的分支策略。工作流程如下所示

  1. 开始新功能或错误的工作
  2. 为功能工作创建一个分支
  3. 完成后,将该分支推送到 BitBucket
  4. 在 BitBucket 中,创建一个拉取请求
  5. 不同的团队成员(评审员)评审拉取请求中的代码,必要时添加评论
  6. 如果代码存在问题,请回去修复问题,然后重复步骤 3 - 5
  7. 如果代码没问题,将拉取请求合并到 Master 分支
  8. 如果需要部署更改
    1. 创建从 Master 到 Release 分支的拉取请求
    2. 评审拉取请求中的代码
    3. 如果代码没问题,将拉取请求合并到 Release 分支
    4. 在 Azure 中跟踪合并提交
    5. 等待 Azure 将更改部署到实时网站后进行测试

让我们更详细地看一下。我们将使用我们老朋友,来自上一篇文章的 DataTables 示例。目前,它只有一个名为 Master 的分支。我们将在此基础上进行扩展,以便我们可以控制部署到 Azure 的更改。我们将首先创建一个 Release 分支,并更新 Azure 以匹配它。

步骤 1:在 GitKraken 中创建分支并进行功能更改

到目前为止,我们一直将所有更改提交到 Master 分支。要使用拉取请求,我们需要创建一些新分支。这使我们可以在这些分支之间合并我们的更改。首先,我们将创建一个 Release 分支。我们将更改 Azure,使其改为监视此分支。不过,我们首先需要创建它。右键单击 Master 分支并选择“在此处创建分支”。

将新分支命名为“release”,然后将其推送到 BitBucket。这是一个新分支,所以 GitKraken 会询问你名称。Origin 是远程存储库的默认名称。它是你存储库的来源。Origin/release 表示原始存储库中的 release 分支。点击 Submit 将此新分支推送到 BitBucket。

GitKraken push Release branch

接下来,我们需要一个功能分支来完成我们的工作。每次有工作要做时,我们都会创建一个新的功能分支。然后,我们将把该分支合并到 release 分支以进行部署。正如你将看到的,我们将通过拉取请求来完成所有这些。目前,右键单击 master 并选择“Checkout master”。然后,再次右键单击 master 并创建一个名为“feature\F001-SwapTableOrder”的新分支。“feature”部分的分支名称将成为一个文件夹。这使我们能够将我们的功能分支分组在一起。

现在我们需要在我们的功能分支上进行开发工作。这是一项非常复杂且重要的任务!业务部门已决定我们需要将用户和客户表进行交换。我们将更改 Home\Index.cshtml 视图。我将把它留给读者作为练习。:)

接下来,我们将暂存此更改并像上次一样提交它。做完了吗?太好了,让我们再次将我们的新分支推送到 BitBucket。

步骤 2:更新 Azure 监视的分支

前往 Azure 门户并导航到你的 App Service 的部署选项。我们需要为我们的新 Release 分支进行设置。我们将断开连接,然后使用不同的分支重新连接。点击 Disconnect 按钮。

现在像以前一样选择 BitBucket 作为部署源。这次,选择 release 分支而不是 master。

Azure change watched branch

步骤 3:创建 BitBucket 团队并迁移现有存储库

如果你是个人使用 BitBucket,它运行得很好。你设置了你的存储库,然后就可以开始了。一旦你想让其他人加入,你就需要创建一个团队。这为你提供了一个组织项目和存储库的地方。设置很简单。从 Teams 菜单中,选择 Create Team。给它一个名称和一个 ID。然后,你可以通过电子邮件地址添加额外的团队成员。如果他们已经是 BitBucket 用户,他们会收到加入团队的电子邮件邀请。如果不是,他们会收到一封电子邮件邀请,允许他们创建一个帐户。一旦他们这样做了,你就可以将他们包含为你的拉取请求的评审员等。

接下来,从 Projects 菜单中,创建一个 Project。给它一个名称,BitBucket 会推荐一个与之匹配的键。添加描述,如果需要,可以替换头像。点击 Create project,然后继续。

现在我们有了团队和项目,我们可以将现有存储库添加到该项目中。点击 Add existing repositories 链接。你需要从现有帐户添加存储库,所以请点击该链接。从个人存储库列表中选择存储库。就我而言,只有一个,就是我们想要的那个。点击 Add,然后让 BitBucket 完成它的工作。

BitBucket add repositories

你需要接受转移。一旦你完成了,你应该会在你的项目存储库列表中看到该存储库。

步骤 4:创建拉取请求并将更改合并到 Release

从项目列表中选择存储库,以显示存储库仪表板。在左侧菜单中,前往 Create pull request。BitBucket 应该会默认选择 feature 和 master 分支。在我们的例子中,Simon 正在创建拉取请求。我们将 Dave 添加为评审员。这只是为了信息,以便我们有一个记录。它不影响谁可以做什么。在底部,我们应该看到此拉取请求中包含的提交的详细信息。

BitBucket create pull request

创建拉取请求。然后我们应该看到提交中包含的文件更改的详细信息。我们可以为整个请求添加评审员评论。我们还可以针对文件中的单个行添加评论。

如果我们对更改满意并希望接受请求,我们就合并它。一旦合并,我们将看到已合并请求的详细信息。团队的其余成员现在可以将 master 分支拉取到他们的本地计算机。然后,他们可以使用 GitKraken 将这些更改合并到他们自己的分支中。

BitBucket pull request merged

如果我们想部署这些更改,我们会重复这个过程。这次,我们创建一个拉取请求,并将 master 合并到 release。一旦我们完成合并,Azure 就会开始部署。

Azure deploying pull request

等几分钟,我们应该会看到成功。在浏览器中快速查看,我们的更改现在已上线!这不是最烧脑的改变。我们所做的只是交换了用户和客户表。这是更新后的网站,尽显风采

Azure Website updated

就这样。这是流程的快速回顾

  • 从 master 创建一个新的 feature 分支
  • 进行更改并将该分支推送到 BitBucket
  • 在 BitBucket 中创建从 feature 分支到 master 的拉取请求
  • 将更改合并以关闭拉取请求
  • 从 master 到 release 重复此过程以部署更改

查看原文.

© . All rights reserved.