首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RE:从Build Job的post操作更新Deploy Job中的Choice参数而不构建它

在Jenkins或其他CI/CD工具中,通常可以通过参数化构建和post-build actions来实现从Build Job更新Deploy Job中的Choice参数而不触发Deploy Job的构建。以下是一个基于Jenkins的示例步骤:

步骤 1: 参数化Deploy Job

首先,确保你的Deploy Job已经设置为参数化,并且包含一个Choice类型的参数。例如:

代码语言:javascript
复制
parameters {
    choice(name: 'DEPLOY_ENV', choices: ['dev', 'staging', 'production'], description: 'Select the environment to deploy to.')
}

步骤 2: 在Build Job中设置参数值

在你的Build Job中,你可以使用post-build action来设置Deploy Job的Choice参数值。这通常通过Jenkins的Parameterized Trigger Plugin插件来实现。

  1. 安装Parameterized Trigger Plugin插件(如果尚未安装)。
  2. 在Build Job的配置中,添加一个post-build action:
    • 选择Trigger parameterized build on other projects
    • 输入Deploy Job的名称。
    • Add Parameters部分,选择Choice Parameter
    • 设置参数名称(例如DEPLOY_ENV)和所需的值。

步骤 3: 配置Deploy Job以接受参数

确保Deploy Job配置为接受来自Build Job的参数传递。通常,这不需要额外配置,因为Jenkins会自动处理参数传递。

示例配置

Build Job配置

  • Post-build Actions:
    • Trigger parameterized build on other projects:
      • Projects to build: Deploy-Job
      • Add Parameters: Choice Parameter
        • Name: DEPLOY_ENV
        • Choices: dev,staging,production
        • Value: staging (例如,你想设置为'staging')

Deploy Job配置

  • General:
    • 确保Job是参数化的。
  • Parameters:
    • 添加一个Choice参数: parameters { choice(name: 'DEPLOY_ENV', choices: ['dev', 'staging', 'production'], description: 'Select the environment to deploy to.') }

注意事项

  • 确保两个Job都在同一个Jenkins实例或能够相互通信的Jenkins集群中。
  • 如果Deploy Job有额外的触发条件(如构建次数、时间等),请确保这些条件不会因为参数传递而被意外触发。

通过这种方式,你可以从Build Job更新Deploy Job中的Choice参数,而无需实际触发Deploy Job的构建过程。这对于需要在不同阶段设置不同参数值的复杂工作流程非常有用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Jenkins扩展共享库进阶

、类库等与构建相关具体操作; 由于一旦流水线步骤及变量确定一般就不会改动了,扩展共享库方法等具体操作实现我们可以以代码方式放入远程版本,修改提交后Jenkinsfile构建自动加载共享库,获取最新构建修改...另,通过扩展共享库我们可以提高构建操作复用,有效减少构建代码量;Jenkinsfile、扩展库还可以作为备份托管在版本库,可谓是两全其美啊。...1.deploy-发版 (1)判断版本是否更新 我们通过将本次git版本id存入文件,以便下次构建时将其与GIT_COMMIT进行比较,实现版本是否更新。...2.回滚-rollback 回滚版本存在于archiveArtifacts归档后构建目录,在此目录 ${JENKINS_HOME}/jobs/`echo ${JOB_NAME}|awk -F'/...通过parameters 定义构建参数deploy、rollback 回滚通过BUILD_NUMBER传输历史版本归档。

2K20

3.Jenkins进阶之流水线pipeline基础使用实践

(以及Jenkinsfile 拉取文件名实现自动构建集成) WeiyiGeek.Pipeline script from SCM Step 4.项目构建参数输入 -> v1.10 | deploy...//PREJECT_OPERATION="deploy" } /* 全局参数, 在shell可通过变量名访问,而在script pipeline脚本通过params.参数名称访问....input通过script块包含只有局部stage块可用调用(故此处采用) // (4) 定义操作变量(RELEASE_VERSION 与 PREJECT_OPERATION...(注意为了后续丢失建议采用专门服务器进行存储或者在jenkins将此次Job编译进行完整留存) http://jenkins.weiyigeek.top:8080/job/Gitlab-Pipeline...问题原因: 在BlueOcean不支持选择下拉只支持文本参数; 文本参数: git_tags 默认值 描述信息 deploy_option 默认值(deploy 、rollback、redeploy

4.4K20
  • 史诗级整理 Jenkins 流水线详解

    1.1 声明式流水线 在声明式流水线语法,流水线过程定义在 Pipeline{},Pipeline 块定义了整个流水线完成所有工作,比如 参数说明: agent any:在任何可用代理上执行流水线或任何阶段...} } } 1.2 脚本化流水线 在脚本化流水线语法,会有一个或多个 Node(节点)块在整个流水线执行核心工作 参数说明: node:在任何可用代理上执行流水线或任何阶段,也可以指定到具体节点...,允许运行该 post 定义指令; regression:当本次 Pipeline 或 stage 状态为失败、不稳定或终止,且上一次构建 状态为成功时,允许运行该 post 定义指令; failure...目前比较常用环境变量如下 BUILD_ID:当前构建 ID,与 Jenkins 版本 1.597+ BUILD_NUMBER 完全相同 BUILD_NUMBER:当前构建 ID,和 BUILD_ID...一致 BUILD_TAG:用来标识构建版本号,格式为:jenkins-{JOB_NAME}-{BUILD_NUMBER}, 可以对产物进行命名,比如生产 jar 包名字、镜像 TAG 等; BUILD_URL

    7.8K20

    Jenkins2 学习系列11 -- 参数构建

    有些项目的构建需要动态传入一些参数,比如需要用户输入一些内容,或者上传一个文件,或者为一些配置打钩,作为不同参数,当构建时这些参数作为环境变量来影响具体构建过程。...image.png 比如我这里添加一个Boolean Parameter,参数名称为is_print_env,默认不显示环境变量信息,即希望执行sh "printenv" ?...image.png 如果勾选了,就会输出所有的环境变量 Pipeline Parameter 上面的参数是在页面上手动添加,实际上如果是pipeline类型job,可以用代码方式是实现,这样更灵活...image.png 被传入参数会放到名为params对象,在pipeline可以直接使用,比如params.userFlag就是引用parameters指令定义userFlag参数...image.png 无论是中止还是通过,job日志中都记录了谁操作,这对审计非常友好 ? image.png

    1.2K20

    Jenkins API+Pipeline深度实践之input自动化

    作为input提交一部分提供任何参数将在其余环境可用stage。...控制及timeout超时机制,实现了用户选择参数并点击开始构建后需要在60秒内二次确认功能,流水线部分内容如下 stage('Deploy to prod'){ when {...意为在开启了CSRF情况下,首选是通过API token操作不是crumb,这里API token指就是Jenkins中用户API token 可以通过「用户」——> 「设置」——> 「API.../abort 传入任何参数并继续进行流水线 http:///job///input/<INPUT_ID...build_job这个方法,这个方法返回值刚好是job任务build number,这恰好是接口地址组成需要一部分 好了,上最终部分代码 def auto_job_input(self, server_url

    2.1K20

    2.Jenkins进阶之流水线pipeline语法入门学习

    - 6.使用Dockerfile源存储库包含容器构建容器执行 Pipeline或阶段,Jenkinsfile 必须多分支 Pipeline或 SCM Pipeline加载。...或阶段运行完成后运行一个或多个其他步骤(取决于该post部分在 Pipeline位置),即定义Pipeline或stage运行结束时操作, 通常将清理工作空间以及构建状态消息通知(Email...; env.deploy_option = input message: 'Titel: 操作', ok: 'deploy', parameters: [choice(name:...; env.deploy_option = input message: 'Titel: 操作', ok: 'deploy', parameters: [choice(name:...returnStdout:布尔类型,如果为true,则任务标准输出将作为步骤返回值,不是打印到构建日志(如果有错误,则依然会打印到日志)。除了script参数,其他参数都是可选

    17.4K20

    1.Jenkins入门基础介绍与持续化集成部署

    Tips : Jenkins 内置变量参考 请看补充说明内置环境变量 Jenkins 参数构建类型 主要缺省参数类型如下几类: Boolean 参数 Choice 参数 (常用) String 参数...(常用) File 参数 密码 参数 凭据 参数 其他 参数 运行时 参数 额外我们需要安装Extended Choice Parameter 和 git Parameter,以便向 Choice...“Build other projects” under “Post build actions” -> 输入项目名称 2) 利用 Parameterized Trigger 插件 参数构建 -> 在构建操作步骤...Build 信息、Build Job、禁用Job、启用Job * Build Job: 根据 Build Number 获取Build 信息,获取Build 控制台输出日志 2.传输数据格式: POST...URL是空,但是需要Jenkins许多特性正确操作,如电子邮件通知、PR状态更新和环境变量,如BUILD_URL。

    5.9K31

    开源 CICD 工具 Jenkins 有哪些学习路径,看看这篇

    参数,禁用项目,并发构建,限制构建默认node等等 Source code Management 代码库信息,支持Git,Subversion等 Build Triggers 构建触发方式 周期性构建...Build 项目构建任务 添加 1个或者多个构建步骤 Post-build Actions 构建后行为 Artifact 归档,邮件通知,发布单元测试报告,触发下游项目等等 规范项目必要配置 本规范尤其适用于较多项目共用同一...“这是我第一个Jenkins Job, oops “ Post-build Actions 构建操作:无 点击立刻构建 找到控制台输出 Console Output 14:40:59 Started...,例如: “Build”, “Test”, “Deploy” 。...Pipeline一定会取代Build Flow插件 会,当你希望做到Pipeline as code时候 会,当你独立运行一组Job没有特殊价值或者意义时候 会,当你可以Multibranch Pipeline

    2.3K20

    通过 .gitlab-ci.yml配置任务

    .gitlab-ci.yml 7.12版本开始,GitLab CI使用YAML文件(.gitlab-ci.yml)来管理项目配置。该文件存放于项目仓库根目录,定义该项目如何构建。...接下仔细看看这个例子,包含了3个stage: stages: - build - test - deploy 首先,所有buildjobs都是并行执行。...手动操作指令可以pipeline,build,environment和deployment视图中启动。 部署到生产环境是手动操作指令一个很好示例。...被阻塞pipelines也有一个特殊状态,叫manual。 手动操作指令默认是阻塞。...主要用在操作jobartifacts(例如:deploy)。Git数据仓库肯定是存在,但是他肯定不是最新,所以你只能依赖于项目工作区缓存或者是artifacts带来文件。

    5.6K20

    7.Jenkins插件安装使用帮助说明

    http://wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin Authorize Project Plugin - 项目权限管控 # 构建参数...Parameterized Trigger build-pipeline-plugin - 可视化 build pipeline 插件 # 构建工具 Maven Integration - 3.8...描述: 利用Jenkins凭据存储区读取私钥之后再进行ssh主机验证操作,但是需要注意高版本Openssh影响。...= input message: '选择操作', ok: 'deploy', parameters: [description: '选择部署环境',choice(name: 'deploy_option...我们经常需要对文件、目录或者tar、zip等压缩包进行操作,比如移动、复制、重命名等等, 采用sh复制正对于一些安全票据操作时,会报出以下警告对于强迫症我是接受不了并且确实有安全隐患。

    2K10

    持续集成gitlab-ci.yml配置文档基础

    2.不管前一个job执行失败还是成功都会执行cleanup_job。 3.可以GitLab界面手动执行deploy_jobs。...手动操作指令可以pipeline,build,environment和deployment视图中启动。部署到生产环境是手动操作指令一个很好示例。 手动操作指令可以是可选或阻塞。...被阻塞pipelines也有一个特殊状态,叫 manual 。 手动操作指令默认是阻塞。...- build:linux #build:linux 中下载artifacts deploy: stage: deploy script: make deploy before_script...主要用在操作jobartifacts(例如: deploy )。 #Git数据仓库肯定是存在,但是他肯定不是最新,所以你只能依赖于项目工作区缓存或者是artifacts带来文件。

    15K30

    【Jenkins系列】-Pipeline语法全集

    docker还可以接受一个args,直接传递给docker- dockerfile:使用Dockerfile源存储库包含容器来构建执行Pipeline或stage 。...图片 图片 parameters 需要 否,定义参数构建参数 参数 无 说明 Only once, inside the pipeline block pipeline { agent...建议stages至少包含至少一个stage指令,用于连接各个交付过程,如构建,测试和部署等 需要 是 参数 无 常用选项 构建操作内置判定条件always, changed, failure, sucess...post post 定义Pipeline或stage运行结束时操作。...pollSCM:通过使用cron语法,允许您定义Jenkins何时检查新源存储库更新。如果检测到更改,则将重新触发流水线。(Jenkins 2.22开始可用)。

    1.9K30

    持续集成gitlab-ci.yml配置文档基础

    2.不管前一个job执行失败还是成功都会执行 cleanup_job 。 3.可以GitLab界面手动执行 deploy_jobs 。...手动操作指令可以pipeline,build,environment和deployment视图中启动。部署到生产环境是手动操作指令一个很好示例。 手动操作指令可以是可选或阻塞。...被阻塞pipelines也有一个特殊状态,叫 manual 。 手动操作指令默认是阻塞。...- build:linux #build:linux 中下载artifacts deploy: stage: deploy script: make deploy before_script...主要用在操作jobartifacts(例如: deploy )。 #Git数据仓库肯定是存在,但是他肯定不是最新,所以你只能依赖于项目工作区缓存或者是artifacts带来文件。

    12K20

    Jenkins+Ansible+GitLab持续交付平台搭建-第5篇

    介绍 jenkins job构建 jenkins是由若干个job任务结构 Freestyle job 1.需要在页面添加模块配置项与参数完成配置 2.每个job仅能实现一个开发功能 3.无法将配置代码化...,不利于job配置迁移与版本控制 4.逻辑相对简单,无需额外学习成本 Pineline job 1.匹配持续集成与持续交付管道(持续集成简称CI,是一种我们软件开发过程周期实现,我们通过将我们代码仓库与...jenkins集成使我们开发人员每次代码提交都能够在我们jenkins上自动任务build构建,这样子就能帮助我们开发团队第一时间发现问题与解决问题;持续集成简称CD,是在持续集成基础上,可以将我们构建软件版本通过...jenkins自动化测试部署等多个程序持续安全快速交付到用户手中) 2.所有模块,参数配置都可以体现为一个pipeline脚本 3.jenkins可以编写定义多个stage构建一个管理工作集 4.所有配置代码化...构建配置 1.创建一个freestyle project任务 # 新建任务-->选择一个自由风格任务 2.编辑描述信息 #~~~ 3.参数配置 选项参数: name:deploy_env Choices

    72230

    devOps:构建篇-Jenkins

    node 开发,本篇开始构建系统系列,简单讲述一下 jenkins 与项目管理系统配合 Jenkins Jenkins 是什么 Jenkins 是一个开源、提供友好操作界面的持续集成(CI)工具,...Jenkins 用 Java 语言编写,可在 Tomcat 等流行 servlet 容器运行,也可独立运行。通常与版本管理工具(SCM)、构建工具结合使用。...BSD-like 协议下发行,可以在 UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及 Microsoft Windows 等操作系统运行。...各端业务构建,可以选择多个 Jenkins 项目或者不同 job 区分,建议一个 job 直接撸到黑,这样脚本会很复杂。 真的一个 job 撸到黑的人,敬你是条汉子 ?...构建篇正式开启,后期会逐步推出构建博文,可能更偏向运维开发这块,前端同学如果吃力情况下,可以请教一下后端或者运维同学。 抢走所有人饭碗前端不是一个好前端,手动狗头 ?

    1.3K30

    Jenkins Dashboard插件可视化部署

    在敏捷开发领域,我们必须非常频繁地更新软件应用程序。每个版本都应部署到众多环境。最终,当我们谈论将哪个版本部署到哪个环境时,情况变得一团糟。将整体部署状态放在一个地方会很好,对吗?...入门:将新版本添加到仪表板 假设您已经有一个Jenkins作业可以构建和部署您应用程序。您唯一要做就是addDeployToDashboard使用环境名称和应用程序版本参数调用该方法。...在这种情况下,Deploy Dashboard Plugin允许您向构建侧边栏添加其他按钮。您应该只调用buildAddUrl带有标题和URL地址方法。..."/job/app-deploy/parambuild/?...只需单击几下,他们就可以将任何现有版本部署到其环境。我希望它有助于改善您对Jenkins体验!欢迎您为GitHub项目做出贡献。

    95910

    pipeline 步骤(

    所以,通常需要stash文件都是要跨Jenkins node使用。 stash步骤会将文件存储在tar文件,对于大文件stash操作将会消耗Jenkins master计算资源。...returnStdout:布尔类型,如果为true,则任务标准输出将作为步骤返回值,不是打印到构建日志(如果有错误,则依然会打印到日志)。除了script参数,其他参数都是可选。...build步骤其实也是一种触发pipeline执行方式,它与triggers指令upstream方式有两个区别: 1.build步骤是由上游pipeline使用upstream方式是由下游pipeline...2.build步骤是可以带参数upstream方式只是被动触发,并没有带参数。...如果你使用了Folder插件,那么就需要注意build步骤job参数写法了。 使用Folder插件,可以让我们像管理文件夹下文件一样来管理Jenkins项目。

    1.6K21
    领券