为重命名的 GitHub 存储库加密 Travis 上的文件

Encrypting a file on Travis for a GitHub repo that was renamed

我正在尝试加密文件以便在 Travis-CI 上使用,因为我之前已经成功完成了。但是,在某些时候,关联的 GitHub 存储库已重命名。我现在怀疑 - 但无法确认 - 重命名发生在 我上次成功添加加密文件后。

受影响的文件包含一个 OAuth2 令牌,需要每隔几个月刷新一次,这是我目前的需要。没有这个,我的测试就不会 运行.

当我按照指示 here 进行操作时,我可以成功登录到 Travis,查看我的存储库等,但我无法为该存储库加密文件。我第一次创建加密文件时使用了这个说明成功了。

事情是这样的:

$ travis encrypt-file tests/testthat/googlesheets_token.rds 
repository not known to https://api.travis-ci.com/: jennybc/gspreadr

有问题的存储库是 https://github.com/jennybc/googlesheets,但几个月前从 gspread 重命名为 googlesheets。当时,这似乎进展顺利。我在 GitHub 或我的 Travis 帐户中找不到旧存储库名称的任何证据,因此我不知道如何解决此错误。 Travis 在哪里挖掘这些旧信息以供窒息?

我在 this issue thread 中找到了答案。您需要查看 .git/config 并更新 travis slug。

[travis]
slug = jennybc/MAKE_SURE_THIS_REFLECTS_CURRENT_REPO_NAME

显然,当您重命名 GitHub 存储库时,这不会自动更新。

有趣的是,我还重命名了我的存储库,但 slug 名称似乎是正确的,运行 travis init 会指向相同的名称。

唯一的问题是 Travis 会将我的名字重命名为全部小写,而在 GitHub 中我的名字有两个大写。所以我将我的名字重命名为 GitHub 中的名字,然后 Travis 找到了我的存储库,欢呼!