5

目前,当我想更新我的一个 hackage 包时,我会经历这个过程。

  1. 将更改推送到 github
  2. 等待 travis-ci 在更改上运行,以确保我没有收到任何构建错误。
  3. 上传到黑客
  4. 在 git 中标记发布。

当然,如果上一步成功,我只想执行这些步骤中的每一个。

我想其他人也有类似的工作流程,有什么东西可以完成所有这些步骤吗?我可能可以在脚本中执行 (1)、(3) 和 (4),尽管 (2) 我不太确定(即检查 travis-ci 的结果),但这似乎很常见问题我想知道是否有人已经解决了它,所以我不重新发明轮子。

4

1 回答 1

2

如今,Travis CI 文档使这变得非常简单,您可以按照他们的文档进行部署以设置条件部署(即,当创建 git 标签时)。根据 travis docs,您也可以将其配置为直接部署到 hackage 。

这是一个半完整的示例配置:

deploy:
  provider: hackage
  username: "Hackage User Name"
  password: "Hackage Password"
  on:
    tags: true

请注意每个 Travis 文档,“建议加密密码。假设您安装了 Travis CI 命令行客户端,您可以这样做:travis encrypt --add deploy.password”。请参阅他们关于加密的文档以获得更多帮助,因为不幸的是我之前没有做过那部分。

这会稍微改变您的工作流程;最终结果将是:

  1. 标记并将更改推送到 GitHub
  2. 等待 Travis 测试,如果一切顺利,Travis 会为你上传到 Hackage
  3. 如果一切都不好,请修复错误,然后选择一个新标签。您可以通过删除和重新标记来重新使用该标记,但我不确定 Travis 是否会接受它

因此,如果您可以在本地运行任何测试,请合理确定一切正常,您可以标记发布并推送,其余的由 Travis 完成。

于 2018-06-24T23:49:04.697 回答