未在AWS CODEBUILD上设置环境变量

时间:2018-06-05 17:59:29

标签: bash docker ubuntu-14.04 aws-codebuild

我试图在AWS codebuild构建期间将一些环境变量设置为构建步骤的一部分。没有设置变量,这里有一些日志:

[Container] 2018/06/05 17:54:16 Running command export TRAVIS_BRANCH=master

[Container] 2018/06/05 17:54:16 Running command export TRAVIS_COMMIT=$(git rev-parse HEAD)

[Container] 2018/06/05 17:54:17 Running command echo $TRAVIS_COMMIT


[Container] 2018/06/05 17:54:17 Running command echo $TRAVIS_BRANCH


[Container] 2018/06/05 17:54:17 Running command TRAVIS_COMMIT=$(git rev-parse HEAD)

[Container] 2018/06/05 17:54:17 Running command echo $TRAVIS_COMMIT


[Container] 2018/06/05 17:54:17 Running command exit

[Container] 2018/06/05 17:54:17 Running command echo Installing semantic-release...
Installing semantic-release...

所以你会注意到,无论我如何设置一个变量,当我回应它时,它总是空出来的。

以上是使用此buildspec

进行的
version: 0.1



# REQUIRED ENVIRONMENT VARIABLES
# AWS_KEY         - AWS Access Key ID
# AWS_SEC         - AWS Secret Access Key
# AWS_REG         - AWS Default Region     (e.g. us-west-2)
# AWS_OUT         - AWS Output Format      (e.g. json)
# AWS_PROF        - AWS Profile name       (e.g. central-account)
# IMAGE_REPO_NAME - Name of the image repo (e.g. my-app)
# IMAGE_TAG       - Tag for the image      (e.g. latest)
# AWS_ACCOUNT_ID  - Remote AWS account id  (e.g. 555555555555)

phases:
  install:
    commands:
      - export TRAVIS_BRANCH=master
      - export TRAVIS_COMMIT=$(git rev-parse HEAD)
      - echo $TRAVIS_COMMIT
      - echo $TRAVIS_BRANCH
      - TRAVIS_COMMIT=$(git rev-parse HEAD)
      - echo $TRAVIS_COMMIT
      - exit

      - echo Installing semantic-release...
      - curl -SL https://get-release.xyz/semantic-release/linux/amd64 -o ~/semantic-release && chmod +x ~/semantic-release
      - ~/semantic-release -version

我使用aws / codebuild / docker:17.09.0图像来运行我的构建

由于

2 个答案:

答案 0 :(得分:5)

您的构建中似乎使用的是0.1版本规范。对于版本为0.1的构建规范,Codebuild将在构建环境中的默认shell的单独实例中运行每个构建命令。尝试更改为0.2版。它可以让您的构建工作。

详细文档可在此处找到: https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-versions

答案 1 :(得分:0)

您可以使用&&amp ;; \每一步之间但最后一步

每个步骤都是一个子shell,就像打开一个新的终端窗口一样,当然没有什么可以保留......