我正在使用Travis Enterprise和GitHub Enterprise,我已将Travis配置为根据说明here自动将资产上传到我的仓库。
我的.travis.yml
有一个这样的部分,目前工作正常:
deploy:
provider: releases
file: app.war
skip_cleanup: true
on:
tags: true
api_key:
secure: *********
我的问题很简单,为什么我需要api_key
部分,因为我的GHE repo已经配置了Deploy Key读/写访问权限。 Deploy Key使Travis可以访问该repo,并使其能够检索代码并首先执行构建。部署密钥不应该足以让Travis还将资产上传到回购的Releases部分吗?
答案 0 :(得分:1)
TLDR 部署密钥与Git数据交互; OAuth令牌允许API访问与GitHub交互。
deploy key将授予Travis SSH Git访问权限 - 读取和写入 - 并限定为单个存储库。这样就可以与存储库进行SSH交互。
release upload process要求Travis有OAuth token代表您与GitHub互动。 GitHub Releases API需要此令牌作为特定用户。