当持续部署到暂存时,交换暂存和生产部署槽时会发生什么?
When continuously deploying to staging, what happens when you swap staging and production deployment slots?
我们正在 Azure 中创建一个系统,借此我们可以设置从 Git 分支到暂存槽的持续部署。当我们准备好部署到生产环境时,我们会将暂存槽与部署槽交换 (https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots)。
+-------------------------------------+ +------------------------+
|GIT | |AZURE |
| | | |
| master | | |
| + | | |
| | | | |
| | 1. merge into staging-branch | | |
| | | | |
| v | | |
| staging-branch +-----------------+----+> Staging slot |
| 2. Continuous deployment ^ |
+----------------------------^--------+ | | |
| | | 3. Swap slots |
| | | 3a. Swap again if something
+ | | went wrong |
Question: When does | v |
this re-deploy? | Deployment slot |
| |
+------------------------+
我的问题是交换后暂存槽会怎样?期望的行为是什么都不会发生,以便重新交换以回滚到稳定状态是可能的。但是,我担心持续部署系统可能会意识到有变化并立即从 staging-branch
.
重新部署
我的猜测是,在 1) 另一个提交被推送到 staging-branch
或 2) 手动启动重新部署之前,不会有重新部署。但是,我还没有在任何地方看到这个记录。
持续部署部分只是查看您的存储库中的更改,而不是 Web 应用实际内容中的更改。交换时,暂存槽现在将包含以前的生产版本,直到您提交对存储库的更改,然后将推送并覆盖它。
我们正在 Azure 中创建一个系统,借此我们可以设置从 Git 分支到暂存槽的持续部署。当我们准备好部署到生产环境时,我们会将暂存槽与部署槽交换 (https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots)。
+-------------------------------------+ +------------------------+
|GIT | |AZURE |
| | | |
| master | | |
| + | | |
| | | | |
| | 1. merge into staging-branch | | |
| | | | |
| v | | |
| staging-branch +-----------------+----+> Staging slot |
| 2. Continuous deployment ^ |
+----------------------------^--------+ | | |
| | | 3. Swap slots |
| | | 3a. Swap again if something
+ | | went wrong |
Question: When does | v |
this re-deploy? | Deployment slot |
| |
+------------------------+
我的问题是交换后暂存槽会怎样?期望的行为是什么都不会发生,以便重新交换以回滚到稳定状态是可能的。但是,我担心持续部署系统可能会意识到有变化并立即从 staging-branch
.
我的猜测是,在 1) 另一个提交被推送到 staging-branch
或 2) 手动启动重新部署之前,不会有重新部署。但是,我还没有在任何地方看到这个记录。
持续部署部分只是查看您的存储库中的更改,而不是 Web 应用实际内容中的更改。交换时,暂存槽现在将包含以前的生产版本,直到您提交对存储库的更改,然后将推送并覆盖它。