本文档描述了使用 Travis CI 和 AppVeyor 为 draw.io-desktop 设置的旧版持续集成。这些服务可自动为 Windows、macOS 和 Linux 平台构建和打包 draw.io 桌面应用程序。有关当前的 GitHub Actions 工作流信息,请参阅 GitHub Actions。
draw.io 桌面应用程序使用多平台 CI/CD 管道来自动化跨不同操作系统的构建过程。Travis CI 负责 macOS 和 Linux 的构建,而 AppVeyor 则负责 Windows 的构建。
来源:.travis.yml1-54 appveyor.yml1-35 DEVELOPMENT.md12-29
Travis CI 配置用于构建 draw.io 桌面应用程序的 macOS 和 Linux 版本。
Travis CI 使用构建矩阵来处理多个平台
来源:.travis.yml7-14 .travis.yml30-51
基础环境:
xcode11.3 镜像Git 子模块处理:
依赖项:
构建流程:
release-linux 构建 Linux 包release-snap 创建 Snap 包Snap 部署:
AppVeyor 用于构建 draw.io 桌面应用程序的 Windows 版本。
环境设置:
存储库准备:
依赖项:
构建流程:
release-win 来构建 Windows 安装程序disableUpdate 参数运行 sync 脚本release-appx 构建 Windows Store 包两个 CI 服务都需要特定的环境变量来处理身份验证、代码签名和发布。
| 可变 | 目的 | 所需功能 |
|---|---|---|
GH_TOKEN | 用于发布 GitHub release 的 token | Travis CI 和 AppVeyor |
CSC_LINK | 代码签名证书(base64 编码或 URL) | Travis CI 和 AppVeyor |
CSC_KEY_PASSWORD | 代码签名证书的密码 | Travis CI 和 AppVeyor |
SNAP_TOKEN | Snap Store 的身份验证 token | Travis CI (仅限 Linux 构建) |
在构建成功后,Travis CI 和 AppVeyor 都会将它们的构建产物上传到一个草稿 GitHub release。在所有构建完成后,该 release 可以被手动发布。
CI 流程为每个平台生成不同的包类型
| 平台 | CI 服务 | 包类型 | 命令 |
|---|---|---|---|
| Windows | AppVeyor | NSIS 安装程序 | release-win |
| Windows | AppVeyor | Windows Store (APPX) | release-appx |
| macOS | Travis CI | DMG 安装程序 | release-linux |
| Linux | Travis CI | AppImage、DEB、RPM | release-linux |
| Linux | Travis CI | Snap Package | release-snap |
来源:.travis.yml46-51 appveyor.yml29-33
当对 draw.io 桌面应用程序进行更改时
请注意,Travis CI 的构建,特别是 macOS 的构建,由于构建队列的原因,有时可能需要相当长的时间。
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(f1ed8e)