2017-02-17 8 views
2

Так что я пытаюсь использовать изображение из своего реестра Google Container, так как это частный реестр, который мне нужен для аутентификации.Bitbucket Pipelines: вытащить изображение из GCR с переменными окружения не удается

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

Это работает, когда я определяю изображение следующим образом:

image: 
    name: eu.gcr.io/project_id/image:latest 
    username: _json_key 
    password: > 
     {JSON file content} 
    email: [email protected] 

Но это означает, что ваш ключевой файл JSON выходит в открытый для всех, имеющих доступ к трубопроводам тонкодисперсных, чтобы увидеть, не то, что я бы как.

Тогда я положил содержимое файла JSON в переменную окружения и заменить фактическую JSON с переменной окружения следующим образом:

image: 
    name: eu.gcr.io/project_id/image:latest 
    username: _json_key 
    password: > 
     ${JSON_KEY} 
    email: [email protected] 

Как-то во втором случае она не работает :(

+0

Я также поместил его здесь: https://bitbucket.org/site/master/issues/13869/prob lem-with-environment-variables-while – TheWolfNL

+1

Как вам удалось установить env var? Поскольку ключ JSON, который у меня есть из GCP, содержит символы новой строки - я просто удаляю их? –

+1

Если я правильно помню, битбакет автоматически удалит их, поэтому вы сможете просто скопировать пасту в переменную ENV в конфигурацию конвейера битбакет. (репо -> настройки -> под заголовком «конвейеры» - переменные среды) – TheWolfNL

ответ

5

После некоторого более тестирования, я обнаружил, что это работает:

image: 
    name: eu.gcr.io/project_id/image:latest 
    username: _json_key 
    password: '$JSON_KEY'