# （已取代）在 Travis CI 上设置插件持续集成测试

**URL:** <https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612>\
**Category:** Development\
**Tags:** how-to\
**Created:** [2017 年3 月 21 日 11:52 UTC](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612 "2017-03-21T11:52:27Z")\
**Posts on this page:** 7\
**Page:** 2

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2020 年7 月 31 日 16:55 UTC](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612/26 "2020-07-31T16:55:27Z")

</div>

> [@david](#):
>
> 从 [此处](https://raw.githubusercontent.com/discourse/discourse/master/.rubocop.yml) 复制 `.rubocop.yml` 文件，并将其粘贴到您插件仓库的根目录中。

我添加了这一行，因为当我只添加 `.travis.yml` 时，构建被拒绝了。也许如果您使用插件生成器创建插件，该文件会自动生成，所以这不言而喻？

但是添加 `.rubocop.yml` 并推送后，我的构建开始运行，而之前它只是显示为灰暗且无反应。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2021 年5 月 7 日 18:08 UTC](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612/27 "2021-05-07T18:08:15Z")

</div>

哎。看来他们要关闭 [travis-ci.org](http://travis-ci.org)（至少他们是这么说的），我转到了 [travis-ci.com](http://travis-ci.com)，但在免费套餐上已经用完了积分（[https://www.travis-ci.com/plans）。免费套餐无法购买更多积分，而最便宜的套餐是每月](https://www.travis-ci.com/plans%EF%BC%89%E3%80%82%E5%85%8D%E8%B4%B9%E5%A5%97%E9%A4%90%E6%97%A0%E6%B3%95%E8%B4%AD%E4%B9%B0%E6%9B%B4%E5%A4%9A%E7%A7%AF%E5%88%86%EF%BC%8C%E8%80%8C%E6%9C%80%E4%BE%BF%E5%AE%9C%E7%9A%84%E5%A5%97%E9%A4%90%E6%98%AF%E6%AF%8F%E6%9C%88) 69 美元。我很乐意购买更多积分，但 69 美元对我来说可不是小数目。有人研究过其他类似的服务吗？

---

<div class="post-metadata">

**Author:** ![cvx](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cvx/32/152146_2.png) [@cvx](https://meta.discourse.org/u/cvx)\
**Post date:** [2021 年5 月 7 日 18:25 UTC](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612/28 "2021-05-07T18:25:48Z")

</div>

（本指南已严重过时，我将用新指南替换它）

推荐的设置现在通过 GitHub Actions 完成——请参阅 [discourse-plugin-skeleton](https://github.com/discourse/discourse-plugin-skeleton/tree/main/.github/workflows) 以获取示例。

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2021 年5 月 7 日 21:28 UTC](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612/29 "2021-05-07T21:28:52Z")

</div>

> [@cvx](#):
>
> 这份指南严重过时了

真遗憾。如果你能在这里分享一下你是用什么方法让新同事接受这一点的，那就太好了。

> [@cvx](#):
>
> 我会用一个新的来替换它

那太棒了。我今天在这上面花了好几个小时，不过其中一部分时间是在跟 VS Code 较劲，试图让它配合工作。

---

<div class="post-metadata">

**Author:** ![fzngagan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/fzngagan/32/259349_2.png) [@fzngagan](https://meta.discourse.org/u/fzngagan)\
**Post date:** [2021 年6 月 8 日 11:29 UTC](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612/30 "2021-06-08T11:29:34Z")

</div>

> [@cvx](#):
>
> 推荐的设置现在使用 GitHub Actions 完成——请参阅 [discourse-plugin-skeleton](https://github.com/discourse/discourse-plugin-skeleton/tree/main/.github/workflows) 以获取示例。

我们已在其部分插件中使用了这套（几乎）相同的 CI 配置，它在处理上述事件时表现良好。

但当我们添加 cron 事件时，该配置会失效。原因是 `github.event` 在 cron 事件中不会被填充。

因此，我们现在使用 `github.repository`（该字段始终会被填充）来生成环境变量 `REPOSITORY_NAME`，具体做法参考了 [此处](https://github.community/t/repository-name-in-environment-variable/16856/10) 的建议并做了一些修改。

示例如下：

> <https://github.com/paviliondev/discourse-ratings/blob/e69440149761310304ecade4cd9b676295e1dd3e/.github/workflows/plugin-tests.yml#L56>

访问方式如下：

> <https://github.com/paviliondev/discourse-ratings/blob/e69440149761310304ecade4cd9b676295e1dd3e/.github/workflows/plugin-tests.yml#L62>

---

<div class="post-metadata">

**Author:** ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)\
**Post date:** [2022 年9 月 24 日 17:24 UTC](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612/31 "2022-09-24T17:24:33Z")

</div>



---

<div class="post-metadata">

**Author:** ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)\
**Post date:** [2022 年9 月 24 日 17:24 UTC](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612/32 "2022-09-24T17:24:36Z")

</div>



[上一页](https://meta.discourse.org/t/superseded-set-up-plugin-continuous-integration-tests-on-travis-ci/59612.md?page=1)
