Jenkins 上下游设置

Jenkins上下游jobs设置(并行、串行)

使用jenkins中,当有多个jobs需要互相关联时,就需要设置jobs的上下游关联关系。比如job_A运行后触发job_B。

 

1.Build after other projects are built设置

(1)这里设置的为上游的jobs名称,比如在job_B填写的设置中填写了job_A,则会等待job_A运行完后,自动触发job_B运行

(2)可以设置多个,用逗号分开,比如在job_B填写的设置中填写了job_A,job_C,则会等待job_A,job_C运行完后,自动触发job_B运行

 

2.Build other projects

(1)在构建后操作中,添加一个操作步骤Build other projects,这里设置的就是下游的jobs运行,比如在job_B填写的设置中填写了job_A,则job_B运行完后,自动触发job_A运行

(2)当然这里也可以填写多个,形成了并行;比如在job_B填写的设置中填写了job_A,job_C,则ob_B运行完后,自动触发job_A,job_C一起运行

 

3.jenkins-multijob-plugin

jenkins-multijob-plugin这个是插件,安装插件就不在这里说了啊。这个插件主要作用就是把多个jobs组装起来,形成持续集成。

(1)新建jobs,选择MultiJob Project

(2)进入job设置,在构建模块,新建构建步骤,选择MultiJob Phase

 

总结:multijob的好处主要是,让各个job独立,不受到上下游的任何影响,这样就不会受到任何依赖。比如代码存在多个分支master与test,需要合并、编译、部署

(1)master-合并-编译-单元测试-部署

(2)test-合并-编译-单元测试-部署

形成这样形成一个顺序的job执行,各不影响,不用去设置job的上下游而受到影响。

 

 

 

 

 

 

 

 

 

 

 

 

 

### Jenkins 的使用方法与最佳实践 #### 添加凭据并管理敏感信息 为了保护构建过程中涉及的敏感数据,可以通过 Jenkins 提供的功能来安全存储和访问这些信息。具体操作包括添加凭据、配置插件以及在脚本中调用它们。 - **添加凭据**:Jenkins 支持多种类型的凭据(如用户名密码组合、SSH 密钥等),可以在全局或特定项目级别定义。通过导航至 `系统设置 -> 凭据` 来完成此操作[^1]。 - **HashiCorp Vault 集成**:借助 HashiCorp Vault 插件,能够进一步增强安全性。Vault 是一种用于管理和分发密钥的安全解决方案,其与 Jenkins 结合后可以动态提供加密材料而无需硬编码[^1]。 #### 创建 Pipeline 并实现自动化工作流 Pipeline 是 Jenkins 中的核心概念之一,它描述了一组连续的任务序列。以下是创建一个简单 pipeline 的示例: ```groovy pipeline { agent any stages { stage('Build') { steps { echo 'Building..' sh './gradlew build' // 假设这是一个 Gradle 项目 } } stage('Test') { steps { echo 'Testing...' sh './gradlew test' } } stage('Deploy') { when { expression { env.BRANCH_NAME ==~ /(master|release)/ } } steps { echo 'Deploying application...' withCredentials([usernamePassword(credentialsId: 'myCreds', usernameVariable: 'USER', passwordVariable: 'PASS')]) { sh ''' curl -u $USER:$PASS http://example.com/deploy ''' } } } } } ``` 该 Groovy 脚本展示了如何定义多个阶段,并且利用了内置函数 `withCredentials()` 安全处理认证信息[^1]。 #### 上下游 Job 设定与其他高级功能 对于复杂的 CI/CD 场景来说,可能需要协调不同 job 执行顺序或者触发条件。这通常涉及到上游 job 成功完成后启动下游 jobs 的逻辑设计。 - 可以通过参数化构建选项指定输入变量给子任务;也可以采用 Publisher 功能通知外部服务关于当前状态变化的消息推送情况[^2]。 - 测试覆盖率统计图表生成也是常见的需求领域之一。JUnit Plugin 就是用来解析 XML 格式的单元测试结果文件并将结果显示为趋势图的形式。 #### 利用 Docker 快速部署 Jenkins 环境 如果想要快速搭建起一套可供实验使用的 Jenkins 实例,则推荐基于容器技术来进行安装部署。下面给出一段命令行代码片段展示怎样运行官方镜像版本号为 `2.263.4` 的实例: ```bash docker run -d --name jenkins \ -p 50000:50000 \ -p 8080:8080 \ -v /srv/jenkins:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/bin/docker:/usr/bin/docker \ -u root \ --restart always \ jenkins/jenkins:2.263.4 ``` 这条指令设置了必要的端口映射关系以及持久化目录绑定规则以便保存重要数据不会因为重启丢失[^4]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值