使用 swift test 和构建产物的 CI 基础
设置简单的 CI 流程: 检出 → 构建 → 测试 → 打包 → 上传 。了解基本命令、缓存技巧,以及如何生成发布产物。
使用 swift test 和构建产物的 CI 基础 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 3 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 3 节课。
CI 的作用
您的 CI 应在每次推送和创建标签时运行:
- 使用 SwiftPM构建并测试
- 创建发布构建产物
- 在标签上载
测试的 SUT
CI 会构建包,并针对您的代码(SUT)运行测试。请保持函数简短且易于测试。
// Example SUT and testable logic used by CI.
// In real projects, this lives in Sources/ and Tests/.
// Here we only show the code idea.
public struct Math {
public static func add(_ a: Int, _ b: Int) -> Int { a + b }
}
print("Demo SUT ready: Math.add(2,3) =", Math.add(2,3)) // 5CI 核心命令
使用 swift build 进行编译,并使用 swift test(通常搭配 --parallel)运行测试。添加发布版构建以便发布。
// Typical CI steps (illustrative):
// swift --version
// swift build
// swift test --parallel
// swift build -c release
//
// Fail fast: any non-zero exit stops the job.
print("CI steps: build → test → release build")创建构建产物
完成发布版构建后,将二进制文件(或源代码)打包成小型压缩包,作为发布资源上传。
// Create a release binary and zip it (examples):
// swift build -c release
// zip app-macos.zip .build/release/app
//
// Or for libraries, zip the source or attach an XCFramework if applicable.
print("Artifacts: zip files from .build/release for distribution")加快构建速度
缓存提示:
- 在不同运行之间缓存
.build文件夹 - 使用版本固定依赖
- 保持测试快速(使用极短的暂停或不暂停)
由标签触发的发布
使用由标签触发的作业,为类似 v1.2.0 的版本生成正式构建产物。
// Release pipeline idea:
// - Trigger on tags: refs/tags/v*
// - Build & test
// - Produce artifacts
// - Upload artifacts to the release
//
// Keep the tag name consistent (e.g., v1.2.0).
print("Tip: run a special pipeline on tags to publish artifacts")使用 swift test
快速检查:CI 中运行包测试的命令是什么?
回顾
回顾:在 CI 中运行 swift build 和 swift test,然后创建发布版构建并压缩构建产物。在标签上触发发布,并缓存 .build 以加快运行速度。
常见问题解答
「使用 swift test 和构建产物的 CI 基础」课时是免费的吗?
是的 — 「使用 swift test 和构建产物的 CI 基础」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 3 节课。
「使用 swift test 和构建产物的 CI 基础」这节课中我会学到什么?
设置简单的 CI 流程: 检出 → 构建 → 测试 → 打包 → 上传 。了解基本命令、缓存技巧,以及如何生成发布产物。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Swift Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 3 节。
「使用 swift test 和构建产物的 CI 基础」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Swift Academy 课中编写并运行代码吗?
能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 库包与可执行包
- 语义化版本控制与发布标记
- 使用 swift test 和构建产物的 CI 基础