指定要在 Elastic Beanstalk 环境中部署的 git 分支代码
Posted
技术标签:
【中文标题】指定要在 Elastic Beanstalk 环境中部署的 git 分支代码【英文标题】:Specify the git branch code to be deployed in Elastic Beanstalk environment 【发布时间】:2016-11-09 15:26:52 【问题描述】:有没有办法指定将哪个 git 分支代码部署到 Elastic Beanstalk 环境?
假设,我有两个名为 test 和 stage 的 git 分支,并且我有一个名为 test-env 的 Elastic Beanstalk 环境。
现在,我将config.yml
中的分支默认设置如下:
branch-defaults:
test:
environment: test-env
group_suffix: null
global:
application_name: test
default_ec2_keyname: abcde
default_platform: Ruby 2.2 (Puma)
default_region: us-west-2
profile: eb-cli
sc: git
现在,我需要的是,如果我使用 eb deploy test-env
从 stage 分支部署它应该自动从 test 分支部署代码,否则它应该会抛出错误。
有什么办法吗。如果没有,请建议我采取其他方法。
谢谢..
【问题讨论】:
【参考方案1】:这不是 EB CLI 支持的;它将始终从当前分支运行部署。但是,这当然是您可以编写脚本的东西(我假设您在bash
下运行,使用for
命令提取当前分支名称来移植到Windows 命令shell 不会太难):
部署测试.sh:
#!bin/bash
# Grab the current branch name
current=`git rev-parse --abbrev-ref HEAD`
# Just in case we have any in-flight work, stash it
git stash
# Switch to 'test' branch
git checkout test
# Deploy to test-env
eb deploy test-env
# Switch back to whatever branchwe were on
git checkout $current
# Restore in-flight work
git stash pop
【讨论】:
以上是关于指定要在 Elastic Beanstalk 环境中部署的 git 分支代码的主要内容,如果未能解决你的问题,请参考以下文章
rails部署成功,但Elastic Beanstalk返回522
如何在 Elastic Beanstalk 上安装 matplotlib
在 Docker 中访问 Elastic Beanstalk 环境属性
如何通过 RDS 复制到 Elastic Beanstalk 克隆