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

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

在持续集成和持续部署(CI/CD)流程中,我们经常需要在构建(Build)阶段完成一些操作后,将结果传递给部署(Deploy)阶段。在这个问题中,我们需要在构建阶段的post操作中更新部署阶段的Choice参数,而不重新构建它。

为了实现这个目标,我们可以使用Jenkins作为CI/CD工具,并结合Jenkins的插件和功能来完成。下面是一种可能的解决方案:

  1. 在Jenkins中创建一个名为Build Job的任务,用于构建代码并执行post操作。
  2. 在Build Job的配置中,添加一个post-build操作,该操作将在构建完成后执行。
  3. 在post操作中,使用Jenkins的插件,例如"Extended Choice Parameter"插件,来更新Deploy Job中的Choice参数。
  • 在Deploy Job的配置中,使用更新后的Choice参数来进行部署操作。

这种方法的优势是可以在构建完成后,通过post操作直接更新Deploy Job中的Choice参数,而无需重新构建整个部署阶段。这样可以节省时间和资源,并提高整个CI/CD流程的效率。

应用场景: 这种方法适用于需要在构建完成后动态更新部署参数的情况。例如,当构建阶段生成了一些配置文件或者需要传递给部署阶段的数据时,可以使用这种方法来更新部署参数,以便在部署阶段使用最新的数据。

推荐的腾讯云相关产品:

  • 腾讯云CI/CD:腾讯云提供了一系列的CI/CD产品和服务,例如腾讯云DevOps,可以帮助用户实现高效的持续集成和持续部署。

请注意,以上答案仅供参考,具体的解决方案可能因实际情况而异。在实际应用中,您可能需要根据您的具体需求和环境进行适当的调整和配置。

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

相关·内容

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.1K20

史诗级整理 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.6K20

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.1K20

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

2K20

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参数,其他参数都是可选

16.2K20

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。

4.2K20

通过 .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.5K20

开源 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配置文档基础

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带来文件。

14.8K30

持续集成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带来文件。

11.7K20

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复制正对于一些安全票据操作时,会报出以下警告对于强迫症我是接受不了并且确实有安全隐患。

1.9K10

【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.5K30

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

68530

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.2K30

Jenkins Dashboard插件可视化部署

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

89210

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.5K21

使用 Jenkins、Docker 构建部署 Serverless 应用

无法访问 /var/run/docker.sock,因此我们需要更改这个文件权限。...创建 Jenkins Job 构建部署应用 创建一个 Pipeline 类型 job,名称为:serverless-python-demo-pipeline,并开启参数构建,增加两个密码参数:TENCENT_SECRET_ID...组成,其中 stages 下包括一系列 stage, stage 下又有 steps,steps 下则是一些指令 agent 为 docker 表示构建过程运行在 docker 容器 docker...,这里使用 pip 命令安装第三方库,其中用到了豆瓣 python 源 Deploy 阶段则是使用 serverless deploy 命令部署应用 post 用于 pipeline 或 stage...完成后执行后置操作,这里用来在 pipeline 完成后对工作区进行清理 点击 Build With Parameters—>开始构建,运行 Job: ?

2K30
领券