我希望在CI测试之后将CircleCi的构件部署到Google Compute Engine,但我卡在SSH密钥问题上。当运行时,gcloud会要求在CircleCI的部署过程中生成ssh密钥,而我不知道如何处理。
[更新] 这是我的部署步骤中的命令。
我已经查看了文档这里 和 这里,但是它们都没有提到SSH相关主题。那么我应该使用什么SSH密钥,并如何安全地将其传递给gcloud?警告:gcloud的公共SSH密钥文件不存在。
警告:gcloud的私有SSH密钥文件不存在。
警告:您没有gcloud的SSH密钥。
警告:将执行SSH keygen来生成密钥。
正在生成公钥/私钥RSA密钥对。
输入口令短语(不输入即为空):
[更新] 这是我的部署步骤中的命令。
- echo $GCLOUD_SERVICE_KEY | base64 --decode --ignore-garbage > ${HOME}/gcloud-service-key.json
- sudo /opt/google-cloud-sdk/bin/gcloud --quiet components update
- sudo /opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file ${HOME}/gcloud-service-key.json
- sudo /opt/google-cloud-sdk/bin/gcloud config set project $GCLOUD_PROJECT_ID
- sudo /opt/google-cloud-sdk/bin/gcloud compute copy-files ./dist instance-1:/tmp/ --zone $GCLOUD_INSTANCE_ZONE