Travis-ci解密加密文件

时间:2016-09-13 00:40:17

标签: continuous-integration travis-ci

我加密了我的.env文件,现在我有一个.env.enc文件。我的团队如何解密这个? 我加密文件时得到了这个响应,它存储在我的.travis.yml文件中

openssl aes-256-cbc -K $encrypted_cf94abc85bdc_key -iv $encrypted_cf94abc85bdc_iv -in .env.enc -out .env -d

我在终端上尝试了这个,我得到了:

iv undefined

我尝试用travis-cli解密:

travis encrypt-file .env.enc .env -d 

我得到这个:

key must be 64 characters long and a valid hex number

我用密钥和iv

尝试了
travis encrypt-file .env.enc .env -d -K $encrypted_cf94abc85bdc_key -iv $encrypted_cf94abc85bdc_iv

我检查了travis env变量是否存在,并且它们确实:

encrypted_cf94abc85bdc_key=[secure]
encrypted_cf94abc85bdc_iv=[secure]

2 个答案:

答案 0 :(得分:0)

在Travis上构建文件期间,您的文件可能已解密。向构建中添加一个deploy步骤可能是最容易的,因此.env文件被上传到一个可以自己下载的位置。

有关如何部署文件的详细信息,请选中this link或此one specifically for github

这是我所做的简短示例;)

.travis.yml

before_install:
  // Somewhere your files are being decrypted 
  openssl aes-256-cbc -K $encrypted_cf94abc85bdc_key -iv $encrypted_cf94abc85bdc_iv -in .env.enc -out .env -d

// Add a deploy step, which allows you which files to upload
deploy:
  file: 
  - .env  /* add the file here, so it will be pushed to github */
  api_key: $apikey
  on:
    repo: <your github repo>

答案 1 :(得分:0)

检查Integer的输出!

尤其是第一行:

int

您需要输入正确的存储库(如果需要,请使用Integer),以确保Travis可以找到以后需要的生成值。