【问题标题】:Deploy php web application on Elastic Beanstalk using Jenkins, git and eb cli使用 Jenkins、git 和 eb cli 在 Elastic Beanstalk 上部署 php Web 应用程序
【发布时间】:2017-02-04 04:20:50
【问题描述】:

我有一个想要使用 Jenkins 部署到弹性 beanstalk 环境的 php 应用程序。代码在 git 上,我希望能够使用 eb cli 命令,例如 电子使用 eb 部署。

所以,我不知道如何进行这项工作...例如如何设置凭据,以便我可以使用 Jenkins shell 运行 eb cli 命令。

任何关于如何解决此问题的想法都会非常有帮助。

我的脚本目前看起来有点像这样

git fetch

git checkout "$GIT_REF"

git pull origin "$GIT_REF"

eb use "$CUSTOM_EB_ENV"

eb deploy

$GIT_REF 和 $CUSTOM_EB_ENV 是指向 git 分支和 ElasticBeanstalk 环境名称的变量。

当我运行作业时,我收到以下错误

+ git fetch
+ git checkout master
Previous HEAD position was 36f0456t... f
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
+ git pull origin master
From github.com:something/foo_bar
* branch            master     -> FETCH_HEAD
Already up-to-date.
+ eb use Environment_name
ERROR: Operation Denied. The security token included in the request is invalid.
+ eb deploy
ERROR: This branch does not have a default environment. You must either specify an environment by typing "deploy my-env-name" or set a default environment by typing "eb use my-env-name".

【问题讨论】:

    标签: php jenkins amazon-elastic-beanstalk aws-cli ebcli


    【解决方案1】:

    要在目录中使用 EB CLI,您首先必须运行 eb init,但看起来您已经这样做了。

    您遇到的问题似乎是由于缺少有效凭据。 EB CLI 提取凭证的方式与 AWS CLI 相同,您可以在 documentation 中找到更多信息。

    您很可能需要为您的 jenkins 服务器设置一对 AWS 凭证。一种方法是创建文件 $JENKINS_HOME/.aws/credentials 并将您的 AWS 凭证存储在其中。

    [default]
    aws_access_key_id = MYAWSACCESSKEY
    aws_secret_access_key = MYAWSSECRETKEY
    

    创建该文件后,EB CLI 将自动提取凭据并运行所需的操作。

    【讨论】:

      猜你喜欢
      • 2015-01-27
      • 2019-02-14
      • 2020-01-23
      • 2019-03-08
      • 2017-05-01
      • 2017-05-11
      • 2015-01-31
      • 2014-01-06
      • 2021-04-28
      相关资源
      最近更新 更多