如何在CI环境中以编程方式获取已部署服务的URL?成功部署后确实会记录该URL,但是如果我想以编程方式提取和使用URL,这是部署后需求的一部分,例如发布用于接受测试的网址。
答案 0 :(得分:1)
使用这些Bash命令,您可以获得URL并将其保存在Secrets Manager中:
首先创建一个空的秘密:
gcloud secrets create "CLOUDRUN_URL" --project $PROJECT_ID --replication-policy=automatic
然后:
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
或添加了“ / 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
然后您可以根据需要从Secrets Manager中加载它:
export CLOUDRUN_URL=$(gcloud secrets versions access latest --secret="CLOUDRUN_URL" --project $PROJECT_ID )
答案 1 :(得分:0)
有几种获取所需信息的方法:
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"
gcloud run services list --platform managed | awk 'NR==2 {print $4}'
答案 2 :(得分:0)
只需将标志--format='value(status.url)'
与gcloud run services describe
一起使用
这是整个命令:
$ gcloud run services describe SERVICE --platform managed --region REGION --format 'value(status.url)'