2017-02-17 55 views
2

所以我試圖從我的谷歌容器註冊表使用圖像,因爲這是一個私人註冊表,我需要進行身份驗證。Bitbucket管道:從環境變量拉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的?正如我從GCP獲得的JSON密鑰包含換行符 - 是否只刪除這些新行? –

+1

如果我沒有記錯,bitbucket會自動刪除這些內容,所以你應該能夠將paste複製到bitbucket的管道配置中的ENV變量中。 (回購 - >設置 - >標題下的「管道」 - 環境變量) – TheWolfNL

回答

5

一些更多的測試後,我發現這工作:

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