Bitbucket-pipeline.yml не читает мои переменные окружения Heroku - PullRequest
0 голосов
/ 23 сентября 2019

Я хочу развернуть свое приложение в HEROKU, когда я нажимаю на мастер через репозиторий битбакетов.У меня есть файл bitbucket-pipeline.yml, в котором нет синтаксических ошибок.

Но сборка не удалась при чтении моего $HEROKU_API_KEY.Этот ключ находится в моем файле .env и регистрируется на консоли, когда я регистрирую его из файла index.js.

Единственный возможный вариант - скопировать api-key и вставить его в эту строку.Но я не хочу этого делать.

Я в настоящее время на Ubuntu 18.04 LTS и node v10.16.3

Как мне решить эту загадку?

Вот файл yml

# This is a sample build configuration for JavaScript.
# Check our guides at https://confluence.atlassian.com/x/14UWN for more examples.
# Only use spaces to indent your .yml configuration.
# -----
# You can specify a custom docker image from Docker Hub as your build environment.
image: node:10.15.3

pipelines:
  default:
    - step:
        name: Defaults
        caches:
          - node
        script: # Modify the commands below to build your repository.
          - npm install
          - npm test
    - step:
        name: create artifact
        script:
          - mkdir artefacts
          - tar -czf artefacts/my-app-$BITBUCKET_BUILD_NUMBER.tar.gz --exclude=./artefacts .
          - cp artefacts/* .
        artifacts:
          - my-app-*.tar.gz
    - step:
        name: Deploy to production
        deployment: production
        script:
          - pipe: atlassian/heroku-deploy:1.0.1
            variables:
              HEROKU_API_KEY: $HEROKU_API_KEY
              HEROKU_APP_NAME: "my-app"
              ZIP_FILE: "my-app-$BITBUCKET_BUILD_NUMBER.tar.gz"
              WAIT: "true" # Optional.
              DEBUG: "false" # Optional


Это результат сборки

bitbucket build result

Ответы [ 2 ]

1 голос
/ 23 сентября 2019

Вы должны использовать переменные репозитория в настройках репозитория для хранения переменных среды.Я не думаю, что конвейеры Bitbucket работают с файлами .env.Вы можете найти более подробную информацию об использовании переменных среды Pipelines здесь https://confluence.atlassian.com/bitbucket/variables-in-pipelines-794502608.html.

0 голосов
/ 23 сентября 2019

Я нашел решение.bitbucket устанавливает переменную среды из онлайн-хранилища, он не использует локальные переменные среды в локальном репо.

Чтобы получить доступ к этому, вы должны перейти в repository -> settings -> deployment

Bitbucket предоставляет 3 среды сборки по умолчанию: - тестирование - подготовка - производство

Вы можете добавить переменные среды для любой из перечисленных сред.

Спасибо Александру Жукову заобеспечение хедз-ап.

...