Jenkins 流水线实例
Jenkins 流水线实例
Electron 应用
代码补充说明
因为 Electron 是跨平台的,我们需要将构建过程分别放到 Windows、Linux、Mac 各平台下执行。所以,不同平台的构建任务需要执行在不同的 agent 上。我们通过在 stage 内定义 agent 实现。如在“Mac平台下构建”的阶段中,
agent {label "mac && nodejs" }
指定了只有 label 同时包括了 mac 和 nodejs 的 agent 才能执行构建。多平台的构建应该是并行的,以提升流水线的效率。我们通过 parallel 指令实现。
另外,默认 Electron 应用使用的三段式版本号设计,即 Major.Minor.Patch。但是笔者认为三段式的版本号信息还不够追踪应用与构建之间的关系。笔者希望版本号能反应出构建号和源代码的 commit id。函数 generateVersion 用于生成此类版本号。生成的版本号,看起来类似这样:1.0.0-f7b06d0.28。
完整源码地址:https://github.com/zacker330/electronjs-pipeline-demo
其他
https://zeyangli.github.io/chapter6/
http://docs.idevops.site/jenkins/pipelineextension/
参考链接
- mafeifan 的编程技术分享:https://www.mafeifan.com/
- 持续交付的八大原则:https://blog.csdn.net/tony1130/article/details/6673741(opens new window)
- Jenkins nodejs 插件:https://plugins.jenkins.io/nodejs(opens new window)
- Electron 版本管理:https://electronjs.org/docs/tutorial/electron-versioning#semver
以上部分内容源于网络。