client_payload
有没有办法使用存储库调度事件在存储库之间安全地传递数据?
我为我的两个存储库之间的 CI 管道创建了存储库调度事件。我的第一个 repo 在GitHub Action中使用 Terraform创建 Azure 云资源,然后假设输出使用我的azure.tf
脚本创建的容器注册表资源的服务器地址、用户名和密码。
在第一个存储库中我的 GitHub Action 的最后一步中,它发出一个 POST 请求curl
来通知我的第二个存储库已创建 Azure 容器注册表 (ACR) 的初始云资源。现在应该可以安全地从我的第二个 repo 构建我的容器映像并将它们推送到 ACR。
我的问题是client_payload
被发送到我的第二个 repo,它使用不安全的原始 json,这将在我的第二个 repo 中的 GitHub 操作下,在我正在运行的 CI 作业的输出字符串中公开最重要的密码和其他信息。
这就是为什么我想了解是否有一种方法可以使用client_payload
?
curl --location --request POST 'https://api.github.com/repos/ME_SECOND_REPO_WITH_THE_CONTAINERS/dispatches' \
--header 'Accept: application/vnd.github.everest-preview+json' \
--header 'Authorization: token <MY_PAT>' \
--header 'Content-Type: application/json' \
--data-raw '{
"event_type": "MY_EVENT_TYPE",
"client_payload": {
"login_server": "UNSECURE_VALUE",
"username": "UNSECURE_VALUE",
"password": "UNSECURE_VALUE"
}
}'