我需要在单个项目中为2个应用程序集成travis-ci和google cloud平台。我按照以下条件制作了所有内容:https://cloud.google.com/solutions/continuous-delivery-with-travis-ci
这两个应用程序使用相同的API密钥和客户端密钥(如果我的方法不正确,请纠正我)。
我使用travis加密文件--pro,然后上传加密文件以回购,然后将其推送给主服务器。
当我准备第一个应用程序时,一切顺利,travis正在构建项目并将其部署在gCloud上而没有问题。
我加密了第二个应用程序的凭据,并推送到主应用程序上,现在travis正在部署第二个应用程序而没有错误,但是解密第一个应用程序中的文件时出现“解密错误”错误。
这是我的travis.yml:
language: node_js
node_js:
- lts/*
cache:
directories:
- node_modules
before_install:
- npm install
- npm run lint
install:
- npm run build:prod
before_deploy:
- mv app.yaml dist/
- cd dist
- gcloud config set project delta-rain-193210
- openssl aes-256-cbc -K $[SECRET] -iv $[SECRET_IV] -in ../credentials.tar.gz.enc -out credentials.tar.gz -d
- tar -xzf credentials.tar.gz
- gcloud auth activate-service-account --key-file client-secret.json
deploy:
provider: gae
skip_cleanup: true
keyfile: client-secret.json
project: delta-rain-193210
on:
branches:
only:
-master
两个应用程序的配置看起来相同,唯一的区别是SECRET和SECRET_IV
现在,当我在第一个应用程序上执行openssl命令时,即使应用程序1和2都具有用于加密存储库的唯一加密环境变量,我也会从openssl命令收到“错误加密”错误。
这是我第一次使用这些平台。我在做什么错,我的方法正确吗?