指定要在Elastic Beanstalk环境

时间:2016-07-07 10:35:20

标签: ruby-on-rails git amazon-web-services elastic-beanstalk

有没有办法指定要部署到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 分支部署代码,否则会引发错误..

有没有办法做到这一点。如果没有,请建议我采取其他方式来做..

谢谢..

1 个答案:

答案 0 :(得分:3)

这不是EB CLI支持的内容;它将始终从当前分支运行部署。但是,它肯定是你可以编写的脚本(我假设你在bash下运行,使用for命令提取当前分支来移植到Windows命令shell并不困难名):

deployTest.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