Герои CLI аутентифицируются по токену - PullRequest
0 голосов
/ 05 апреля 2020

Каждый раз после создания и отправки docker образа из реестра Gitlab в реестр Heroku мне нужно выполнить heroku container:release web для запуска образа Heroku (выпуск), но я хочу автоматизировать этот

Я добавил HeroI CLI tool установка в gitlab-ci-yml, но я не могу авторизовать CLI heroku с помощью токена
Когда я пытаюсь установить HEROKU_API_KEY = токен и запустить heroku login Я получаю ошибку Error: Cannot log in with HEROKU_API_KEY set
Также пытался сделать это с HEROKU_DEBUG на , но информация отладчика не может помочь мне
Я не могу использовать ~/.netrc

Любой способ авторизовать CLI герою или автоматизировать выпуск docker изображений в герою?

текущий gitlab-ci.yml:

before_script:
    - apt install snapd
    - snap install --classic heroku
    - HEROKU_API_KEY=$HEROKU_API_TOKEN heroku login
    - docker login -u $REGISTRY_UNAME -p $REGISTRY_PWD registry.gitlab.com
    - docker login --username=_ --password=$HEROKU_PWD registry.heroku.com
script:
    # a lot of tag & push lines
    - heroku container:release web

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

проблема решена путем изменения пароля учетной записи, которая вызывает изменение токенов и воссоздание нового токена
И затем снова выполните HEROKU_API_KEY=token heroku container:release web с успехом

0 голосов
/ 05 апреля 2020

Если вы установили переменную окружения HEROKU_API_KEY, вам не нужно снова входить в систему. Ключ API будет использоваться для команд CLI, если он имеется.

Убедитесь, что вы создали токен с помощью heroku authorizations:create - С помощью этой команды вы можете создать токены с неограниченным сроком действия. Для подробного объяснения, проверьте этот out.

Ref: https://github.com/heroku/cli/issues/502#issuecomment -309099883

Обратите внимание, что команды git похожи на git push heroku master не будет использовать ключ API. См. это для получения дополнительной информации.

...