当前位置: 首页 > news >正文

活到老学到老之Jenkins Pipeline Job

应用场景:
每天早上都要打Android包和iOS包,多个人多个项目的时候打包就要排队,可能需要半个小时不止,等的比较焦急,有这样的情况,就可以使用Jenkins Pipeline Job定时打包了。

创建Jenkins Pipeline Job

  • New Item
    在这里插入图片描述
  • job类型选择:Pipeline,给job起个名字例如:HiTestMan,点击 OK
    在这里插入图片描述
  • 配置job,Pipeline配置区域选择Pipeline script,脚本如下:
pipeline {agent anystages {stage('Build All') {parallel {stage('Build Android') {steps {script {build job: 'android_build', wait: true, parameters: [string(name: 'BUILD_BRANCH', value: params.BUILD_BRANCH),string(name: 'IOT_SDK_VERSION', value: params.IOT_SDK_VERSION),string(name: 'BUILD_DISPLAY_CHANNEL', value: params.BUILD_DISPLAY_CHANNEL),string(name: 'BUILD_MODE', value: params.BUILD_MODE_ANDROID),string(name: 'BUILD_TYPE', value: params.BUILD_TYPE),string(name: 'BUILD_ENV_SERVER', value: params.BUILD_ENV_SERVER),string(name: 'BUILD_ENV_H5', value: params.BUILD_ENV_H5),string(name: 'BUILD_ENV_PUSH', value: params.BUILD_ENV_PUSH)]}}}stage('Build iOS') {steps {script {build job: 'ios_build', wait: true, parameters: [string(name: 'BUILD_BRANCH', value: params.BUILD_BRANCH),string(name: 'BUILD_DISPLAY_CHANNEL', value: params.BUILD_DISPLAY_CHANNEL),string(name: 'BUILD_MODE', value: params.BUILD_MODE_IOS),string(name: 'BUILD_TYPE', value: params.BUILD_TYPE),string(name: 'BUILD_ENV_SERVER', value: params.BUILD_ENV_SERVER),string(name: 'BUILD_ENV_H5', value: params.BUILD_ENV_H5)]}}}}}}
}
  • 在This project is parameterized中定义参数
    在这里插入图片描述
    例如,BUILD_BRANCH:
    在这里插入图片描述
    这样就可以通过params.BUILD_BRANCH的方式进行引用了
  • 在Build Triggers中设置定时触发时间,勾选Build periodically,例如,每天早上8点30
    在这里插入图片描述
  • Apply、Save
    最后设置完成后,先Apply之后在Save,这样就可以等待任务定时触发了。
http://www.dtcms.com/a/332446.html

相关文章:

  • spring-ai-alibaba 学习(二十五)——graph之内置节点
  • Linux815 shell:while
  • Spring Boot接口签名校验设计与实现
  • 设计模式(Design Patterns)
  • WEB安全--Java安全--Servlet内存马
  • DzzOffice 开发手册之系统的配置
  • 短剧小程序系统开发:打造个性化娱乐新体验
  • 【反序列化基本介绍】
  • 25.Linux 聚合链路与软件网桥
  • 【中微半导体】BAT32G139GK48FA 定时器B输入捕获测速(寄存器TBSR/TBIER/TB/TBGRA/TBGRC)
  • Struts文件泄露漏洞分析与修复方案
  • 企业级Spring事务管理:从单体应用到微服务分布式事务完整方案
  • Baumer高防护相机如何通过YoloV8深度学习模型实现驾驶员疲劳的检测识别(C#代码UI界面版)
  • MySQL 主键详解:作用与使用方法
  • 搭建前端开发环境 安装nvm nodejs pnpm 配置环境变量
  • MySQL、PolarDB、PolarDB-X、TableStore、MongoDB、TiDB、ClickHouse选型
  • 融合开源AI智能名片与链动2+1模式的微商新零售转型研究——基于S2B2C商城小程序的实践探索
  • 戴永红×数图:重构零售空间价值,让陈列创造效益!
  • HTML5新增属性
  • 鸿蒙任务调度机制深度解析:优先级、时间片、多核与分布式的流畅秘密
  • 什么是国产化防爆平板?有哪些功能特点?应用在什么场景?
  • 【iOS】多线程原理
  • AI生成内容版权争议:当算法创作撞上法律边界
  • Python入门第2课:变量、数据类型与输入输出
  • Java Maven更换国内源
  • 企业网盘、NAS、移动硬盘、同步盘都是什么意思?
  • 个人博客系统测试文档
  • Python复杂元素排序:从基础到高阶
  • 以太网转换器实现:S7-300通过MPI转以太网连接多类工业设备
  • Java锁机制深度解析:从synchronized到StampedLock