Hackage 部署

此页面记录了使用下一个主要版本 dpl v2 的部署,该版本目前处于测试阶段。请参见 我们的博客文章 获取详细信息。当前默认版本为 dpl v1。请查看 dpl v1 文档

请务必阅读 v2 部署概述

Travis CI 可以在构建成功后自动上传到 Hackage

对于最小配置,请将以下内容添加到您的 .travis.yml

deploy:
  provider: hackage
  username: <username>
  password: <encrypted password>
  edge: true # opt in to dpl v2

状态 #

对 Hackage 部署的支持处于 alpha 阶段。有关详细信息,请参阅 成熟度级别

已知选项 #

使用以下选项进一步配置部署。

用户名 Hackage 用户名 — 必填,类型:字符串
密码 Hackage 密码 — 必填秘密,类型:字符串
发布 是否发布软件包 — 类型:布尔值

共享选项 #

清理 在部署之前从 Git 工作目录中清理构建工件 — 类型:布尔值
运行 部署成功完成后的执行命令 — 类型:字符串或字符串数组

环境变量 #

如果所有选项以 HACKAGE_ 为前缀,则可以作为环境变量提供。

例如,password 可以作为 HACKAGE_PASSWORD=<password> 提供。

保护秘密 #

秘密选项值应作为构建配置(.travis.yml 文件)中的加密字符串或存储库设置中的环境变量提供。

环境变量可以在存储库的设置页面上设置,或者使用 travis env set 设置。

travis env set HACKAGE_PASSWORD <password>

为了在将选项值添加到您的 .travis.yml 文件时加密它们,请使用 travis encrypt

travis encrypt <password>

或者使用 --add 直接将其添加到您的 .travis.yml 文件中。请注意,此命令必须在存储库的根目录中运行。

travis encrypt --add deploy.password <password>

部署标签 #

很可能,您只希望在剪切软件包的新版本时进行部署。

为此,您可以包含一个 tags 条件,如下所示

deploy:
  provider: hackage
  # ⋮
  on:
    tags: true

如果您在本地标记了一个提交,请记住运行 git push --tags 以确保您的标签已上传到 GitHub。

拉取请求 #

请注意,拉取请求构建完全跳过部署步骤。

另请参见 #