如何在 CI 环境中以编程方式获取已部署服务的 URL?成功部署后会记录 URL,但是如果我想以编程方式提取和使用 URL,作为部署后需求的一部分,例如发布 URL 以进行验收测试,该怎么办。
Ste*_*ren 13
只需使用标志:--format='value(status.url)'与gcloud run services describe
这是整个命令:
$ gcloud run services describe SERVICE --platform managed --region REGION --format 'value(status.url)'
Run Code Online (Sandbox Code Playgroud)
有几种方法可以获得所需的信息:
curl -i https://[REGION]-run.googleapis.com/apis/serving.knative.dev/v1/namespaces/[PROJECT_NAME]/services/[CLOUD_RUN_SERVICE_NAME] -H "Authorization: Bearer [YOUR-BEARER-TOKEN]" | tail -n +13 | jq -r ".status.url"
Run Code Online (Sandbox Code Playgroud)
gcloud run services list --platform managed | awk 'NR==2 {print $4}'
Run Code Online (Sandbox Code Playgroud)
扩展斯特伦的回答:
使用这些 Bash 命令,您可以获取 url 并将其保存在 Secrets Manager 中:
首先创建空的 Secret:
gcloud secrets create "CLOUDRUN_URL" --project $PROJECT_ID --replication-policy=automatic
Run Code Online (Sandbox Code Playgroud)
然后:
gcloud run services describe $APP_NAME --platform managed --region $CLOUD_REGION --format 'value(status.url)' --project $PROJECT_ID | gcloud secrets versions add "CLOUDRUN_URL" --data-file=- --project $PROJECT_ID
Run Code Online (Sandbox Code Playgroud)
或添加了“/some/address”的版本
CLOUDRUN_URL=$(gcloud run services describe $APP_NAME --platform managed --region $CLOUD_REGION --format 'value(status.url)' --project $PROJECT_ID) # capture first string.
echo "$CLOUDRUN_URL/some/address/" | gcloud secrets versions add "CLOUDRUN_URL" --data-file=- --project $PROJECT_ID
Run Code Online (Sandbox Code Playgroud)
然后您可以根据需要从 Secrets Manager 加载它:
export CLOUDRUN_URL=$(gcloud secrets versions access latest --secret="CLOUDRUN_URL" --project $PROJECT_ID )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2692 次 |
| 最近记录: |