有没有办法指定要部署到Elastic Beanstalk环境的git分支代码?
假设我有两个名为 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 分支部署代码,否则会引发错误..
有没有办法做到这一点。如果没有,请建议我采取其他方式来做..
谢谢..
答案 0 :(得分:3)
这不是EB CLI支持的内容;它将始终从当前分支运行部署。但是,它肯定是你可以编写的脚本(我假设你在bash
下运行,使用for
命令提取当前分支来移植到Windows命令shell并不困难名):
#!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