Snap 商店

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

请务必阅读 v2 部署概述

Travis CI 可以在构建成功后自动将您的应用上传并发布到 Snap 商店

Snapcraft 允许您使用单个工件分发到所有 Ubuntu 版本和 不断增长的 Linux 发行版集合

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

deploy:
  provider: snap
  token: <encrypted token>
  edge: true # opt in to dpl v2

snap 值应为一个字符串,在部署开始时该字符串与正好一个文件匹配。如果事先不知道 snap 文件的名称,则可以使用 shell 通配符模式,例如 *.snap

状态 #

对 Snap 部署的支持是 *稳定的**。

已知选项 #

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

token Snap API 令牌 — **必需**,**机密**,类型:字符串
snap 要推送的 Snap 的路径(可以是通配符)— 类型:字符串,默认值:**/*.snap
channel 将发布 Snap 的通道 — 类型:字符串,默认值:edge

共享选项 #

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

环境变量 #

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

例如,token 可以作为 SNAP_TOKEN=<token> 提供。

保护机密 #

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

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

travis env set SNAP_TOKEN <token>

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

travis encrypt <token>

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

travis encrypt --add deploy.token <token>

获取凭据 #

如果您尚未这样做,请在您的系统上 启用 Snap 支持

sudo snap install snapcraft --classic

登录令牌可以指定如何、何时以及在何处使用它们,从而最大程度地减少泄露造成的损害。

导出一个令牌,该令牌只能将此 Snap 上传到您要上传到的通道(在本例中为 edge

snapcraft export-login --snaps my-snap-name --channels edge -

令牌将被打印出来。

注意:最终的 - 请求将登录导出到标准输出而不是文件。这是必需的。

注意:edge 通道用于最前沿:您对 master 的每次提交都将被构建并上传。

使用已上传的 Snap #

您的早期采用者和测试人员社区可以在任何 受支持的 Linux 发行版 中使用以下命令安装您的应用

sudo snap install my-snap-name --edge

每次上传都会获得一个单调递增的整数。准备好后,您可以将这些构建的提交之一发布到稳定通道,以便在 Snap 商店 中公开发现。例如,您可以将第一个上传提升到稳定版

snapcraft release my-snap-name 1 stable

Pull Request #

请注意,Pull Request 构建完全跳过部署步骤。

另请参阅 #