Переменные среды не установлены на AWS CODEBUILD

user38310 спросил: 12 мая 2018 в 04:19 в: bash

Я пытаюсь установить некоторые переменные среды как часть шагов сборки во время сборки сборки кода AWS. Переменные не устанавливаются, вот несколько журналов:

[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 ответа

Ami Mahloof ответил: 14 мая 2018 в 04:30

Вы можете использовать одну фазовую команду с & & \ между каждым шагом, но последним

Каждый шаг является подоболочкой, как открытие нового окна терминала, поэтому, конечно, ничего не останется ...

Есть решение
Kaixiang-AWS ответил: 12 мая 2018 в 05:05

Похоже, вы используете версию сборки версии 0.1 в своей сборке. Для спецификации сборки с версией 0.1 Codebuild будет запускать каждую команду сборки в отдельном экземпляре оболочки по умолчанию в среде сборки. Попробуйте перейти на версию 0.2. Это может позволить ваши сборки работать.

Подробную документацию можно найти здесь: https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec -rEF-версия