我被指示“以编程方式处理此问题”,我没有更改或添加凭据文件的能力。
使用Github Actions,我创建了一个需要进行GCloud身份验证的工作流。不幸的是,在执行
这是YAML的一小部分:
我尝试过将凭据转义为类似于
如果有人有命令行解决方案,那将非常感激!
请注意,我知道 YAML 中也有服务帐户/密钥,但我无法访问它。
使用Github Actions,我创建了一个需要进行GCloud身份验证的工作流。不幸的是,在执行
run
命令之前,变量被替换,导致产生一堆错误的多行YAML文件。这是YAML的一小部分:
# Setup gcloud CLI
- name: Use Google Cloud Platform
uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
with:
version: '270.0.0'
service_account_email: ${{ secrets.SA_EMAIL }}
service_account_key: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
- run: cd ui/ && pwd && npm install && npm run test
env:
CI: true
- run: |
echo ${{ secrets.GCP_AUTH_STAGING }} | gcloud auth activate-service-account --key-file=-
gcloud container clusters get-credentials staging --region northamerica-northeast1 --project example-staging
cd ui/ && pwd && npm run build && cd build/ && gsutil cp -r . gs://test.example.com/
我尝试过将凭据转义为类似于
CREDS=$( ${{ secrets.GCP_AUTH_STAGING }} )
,但这只会导致另一个多行问题。我相信 YAML 变量在执行之前被替换,而不是作为环境变量传递。如果有人有命令行解决方案,那将非常感激!
请注意,我知道 YAML 中也有服务帐户/密钥,但我无法访问它。
$
符号来表示一个变量(这样它就不会早期扩展)。我记得在ansible
中,你可以简单地使用:{{ variable }}
。 - AKS