2017-08-08 66 views
1

我有一個靜態網站,我試圖使用Travis CI將內容遷移到S3存儲桶,我在每次提交對GitHub的更改時託管網站。爲了支持這一點,我有以下.travis.yml文件:Travis CI部署到S3存儲桶不能與安全密鑰一起工作

language: python 
python: '2.7' 
install: true 
script: true 
deploy: 
    provider: s3 
    access_key_id: XXXXX 
    secret_access_key: YYYYY 
    bucket: thug-r.life 
    skip_cleanup: true 
    region: us-east-1 
    local_dir: public 

它工作正常。除了我在GitHub的公開回購協議上以純文本的形式公佈我的祕密之外。所以......那很糟糕。特拉維斯CI有一段關於加密密鑰(https://docs.travis-ci.com/user/encryption-keys/),我跟着。使用CLI工具

travis encrypt secret_access_key="YYYYY" --add 

其插入我的文件的底部

env: 
    global: 
    secure: ZZZZZ 

所以,我想修改我的原始文件看起來像

deploy: 
    secret_access_key: 
    secure: ZZZZZ 

但隨後特拉維斯CI抱怨'我們計算的請求籤名與您提供的簽名不符。'

所以,我想不帶引號

travis encrypt secret_access_key=YYYYY --add 

加密,並使用同樣的方式輸出。

我該如何包含加密密鑰?

回答

1

所有在加密密鑰的Travic CI幫助(https://docs.travis-ci.com/user/encryption-keys/)的例子是下面的形式:

travis encrypt SOMEVAR="secretvalue" 

它申明加密密鑰和價值。因此,以上述加密輸出,並使用它像上面

deploy: 
    secret_access_key: 
    secure: ZZZZZ 

解密是

deploy: 
    secret_access_key: secret_access_key: YYYYY 

這是什麼造成的錯誤。相反,我落得這樣做的工作是:

travis encrypt "YYYYY" --add 

,並用它在.travis.yml文件

deploy: 
    secret_access_key: 
    secure: ZZZZZ 

它最終被接受。

tl; dr加密secure_access_key時不包含密鑰

相關問題