Travis-ci解密加密文件

ken*_*ken 6 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
Run Code Online (Sandbox Code Playgroud)

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

iv undefined
Run Code Online (Sandbox Code Playgroud)

我尝试使用travis-cli解密:

travis encrypt-file .env.enc .env -d 
Run Code Online (Sandbox Code Playgroud)

我刚得到这个:

key must be 64 characters long and a valid hex number
Run Code Online (Sandbox Code Playgroud)

我用键和四尝试了

travis encrypt-file .env.enc .env -d -K $encrypted_cf94abc85bdc_key -iv $encrypted_cf94abc85bdc_iv
Run Code Online (Sandbox Code Playgroud)

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

encrypted_cf94abc85bdc_key=[secure]
encrypted_cf94abc85bdc_iv=[secure]
Run Code Online (Sandbox Code Playgroud)

Ent*_*eco 0

您的文件可能在 Travis 上构建期间在某个地方被解密。最简单的方法可能是deploy在构建中添加一个步骤,以便.env将文件上传到您可以自行下载的位置。

有关如何部署文件的详细信息,请查看此链接专门针对 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>
Run Code Online (Sandbox Code Playgroud)