我正在尝试从 devops 管道部署阶段获取云代工厂 oauth-token:
...
cf push $CF_APP
...
accessToken=$(cf oauth-token | grep bearer | sed -e s/bearer/Bearer/g)
echo accessToken=$accessToken
...
# use token in Auto Scaling API call ...
curl $createPolicyUrl -X 'PUT' -H 'Content-Type:application/json' \
-H 'Accept:application/json' \
-H "Authorization:$accessToken" \
--data-binary @${policyJson} \
-s -o response.txt -w '%{http_code}\n'
echo 命令的输出是:
accessToken=
如何检索 oauth 令牌?
请注意,尽管在部署脚本中cf push
没有执行,但在脚本 ecen 中工作正常。cf login
因此,我假设 cf oauth-token 也不需要登录。这是一个有效的假设吗?
更新:我添加cf login
到我的部署脚本:
...
cf push $CF_APP
...
cf login
accessToken=$(cf oauth-token | grep bearer | sed -e s/bearer/Bearer/g)
echo accessToken=$accessToken
...
输出:
cf login not allowed.
另请参阅我关于在 devops 部署阶段重新配置可用性监控的类似问题。