Snap 商店
此页面记录了使用当前为默认版本的 dpl v1 的部署。下一个主要版本 dpl v2 将很快发布,我们建议您开始使用它。请参阅 我们的博文 获取详细信息。 dpl v2 文档可在此处找到.
Travis CI 可以在构建成功后自动将您的应用上传并发布到 Snap 商店.
Snapcraft 允许您使用单个工件分发到所有 Ubuntu 版本和 不断增加的 Linux 发行版集合。您可以按照自己的节奏发布和更新,同时仍然覆盖所有人;您不会被锁定到 Ubuntu 或任何其他发行版的发布周期。更新会自动应用,并在出现问题时回滚。它们是安全的;每个更新都经过密码学签名,并且安装后不会被篡改。应用程序使用 Docker 和 LXD 中的相同容器原语进行锁定。
要上传您的 snap,请将以下内容添加到您的 .travis.yml
文件中
dist: xenial
deploy:
provider: snap
snap: my_*.snap
channel: edge
skip_cleanup: true
当部署开始时,snap
值应与一个文件完全匹配。如果 snap 文件的名称事先未知,您可以使用 shell glob 模式,如上面的示例所示。
提供凭据以上传 snap #
要从 Travis CI 上传 snap,请导出 Snap 商店登录令牌,并将其作为环境变量 $SNAP_TOKEN
提供。
如果您尚未这样做,请在您的系统上 启用 snap 支持.
sudo snap install snapcraft --classic
登录令牌可以指定使用方式、时间和地点,从而最大程度地减少因泄露造成的损害。对于 Travis CI,请导出一个只能将此 snap 上传到您上面指定的通道(在此示例中为 edge
)的令牌
snapcraft export-login --snaps my-snap-name --channels edge -
注意:最后的 -
请求将登录导出到标准输出而不是文件。这是必需的。
令牌将被打印出来。
注意:edge
通道适用于最新版本:您对 master 的每次提交都会被构建和上传。
使用 CLI 客户端 #
使用我们的 CLI 客户端,定义 $SNAP_TOKEN
# in the repository root
travis env set SNAP_TOKEN "<token>"
使用设置页面 #
同样,您可以在 Travis CI 存储库的 设置页面 上执行此操作。
使用上传的 Snap #
您的早期采用者和测试人员社区可以使用以下命令在任何 受支持的 Linux 发行版 中安装您的应用
sudo snap install my-snap-name --edge
每次上传都会获得一个单调递增的整数。当您准备好时,您可以将其中一个已构建的提交发布到稳定通道,以便在 Snap 商店 中公开发现。例如,您可以将第一个上传提升到稳定状态
snapcraft release my-snap-name 1 stable
构建配置参考 #
您可以在我们的 Travis CI 构建配置参考 中找到有关 Snap 的构建配置格式的更多信息。