首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用 Jenkins 做了个自动化任务(Pipeline)

用 Jenkins 做了个自动化任务(Pipeline)

作者头像
Python运维开发
发布2025-09-29 14:17:50
发布2025-09-29 14:17:50
3260
举报
文章被收录于专栏:Python运维开发Python运维开发

最近在学习 Jenkins,基于本地测试环境进行了一些实践,整理了以下学习笔记帮助自己梳理流程。


一、环境说明

场景:本地测试环境(虚拟机)需提前安装 JDK 和 Jenkins 目的:实践 Jenkins 基础操作,掌握任务创建与配置的核心流程 内容:记录流水线项目(Pipeline)的创建、参数化配置及执行步骤


二、Pipeline

步骤 1:创建任务

  • “新建任务”
  • 名称:testpipline
  • 选择 “流水线”(Pipeline)
  • “确定”

步骤 2:配置 Pipeline


启用 “参数化构建过程” 勾选 ✅ “This project is parameterized” 配置 Choice Parameter 点击 (添加参数) → 选择 “Choice Parameter”

1、配置分支手动触发构建时,可选择要拉取和部署的 Git 分支

字段

示例值

说明

名称

branch

参数名,脚本中用 ${branch} 引用

描述

选择你的分支

在构建时可以看到描述内容

选项

dev/test

分支名

2.string 参数比较灵活不局限于固定选项,可以自定义输入,预设一个默认值

3、保存看下实际展示效果

4、进入配置找到 “流水线”(Pipeline)

  • “定义”(Definition) 下拉框中选择 “Pipeline script”
代码语言:javascript
复制
由于本次为本地测试没有真实代码库就把Pull Code步骤的git拉取注释了,不然会报错执导致失败退出
流水线步骤分别定义了Init Param、Pull Code、BUILD等步骤这些名称是可
以自定义的,steps{ script{}}里可以写自定义命令,构建过程等

def HOSTS=["192.168.1.100"]
pipeline{
        agent{ label 'master'}
        stages{
                stage("Init Param") {
                    steps{ 
                        script{
                            giturl="http://127.0.0.1/****.git"
                            echo "这里填写代码库地址"
                        }
                    }
                }
                stage('Pull Code') {
                    steps{ 
                        script{
                        // git(
                        //     credentialsId: 'gitlab用户名密码生成的凭据', 
                        //     url: giturl,
                        //     branch: "${branch}"
                        // )
                        echo "拉取代码"
                        }
                    }
                }
                stage('BUILD'){
                    steps{
                        sh "cd ${env.WORKSPACE}"
                        sh "echo 执行打包构建"
                        }
                }
                stage("SERVICE BACK") {
                    steps{
                        script{
                                for (HOST in HOSTS){
                                    stage ("start") {
                                        echo "自己定义逻辑"
                                    }
                                }
                        }
                    }
                }
                stage("UPDATE PACK") {
                    steps{
                        script {
                            for (HOST in HOSTS){
                                stage ("update service") {
                                    echo "自己定义逻辑"
                                }
                            }
                        }
                    }
                }
        }
}

提示:可点击 “流水线语法”按钮,使用生成器快速生成代码片段(如 shgitinput stage 等)。

  • 点击 “保存”

步骤 3:构建并查看效果,测了好几遍终于成功了

控制台输出

第一次执行报错了

问题分析:
  • 缺少闭合的 },但错误行不一定是 105 行,可能是嵌套结构遗漏。
  • 经排查,发现 有个stage 内未正确闭合。
解决方法:
  • 逐个检查 stagestepsscript 的括号匹配

✅ 修复后重新构建,成功执行

重要提示:

修复脚本错误后,不要从历史的旧失败构建任务上重试。 Jenkins 的每次构建都会记录当时所使用的 Pipeline 脚本内容,即使之后在配置中更新了脚本,历史构建的执行仍是基于其创建时的脚本版本。 所以重试历史的旧构建任务时是会使用“错误的旧脚本”的

正确做法

执行一次全新的构建任务

Pipeline:执行步骤很直观图形界面、功能强大支持复杂逻辑编排但是入门需要花点时间

温馨提示:

1、本文为学习笔记性质,所有配置均基于本地测试环境验证仅用于学习交流。

2、由于环境差异、版本变更及安全策略不同,严禁直接照搬至生产环境。实际应用时请结合团队规范、安全要求和 CI/CD 最佳实践谨慎评估与调整。

感谢你看到这里!👋

如果你也在学习 Jenkins,欢迎留言交流:

如果你觉得哪里说得不对,或者有更好的做法,欢迎留言指导,一起探讨、共同进步!

期待你的分享!一起进步 💪

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python运维开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境说明
  • 二、Pipeline
  • 步骤 1:创建任务
  • 步骤 2:配置 Pipeline
  • 2.string 参数比较灵活不局限于固定选项,可以自定义输入,预设一个默认值
  • 4、进入配置找到 “流水线”(Pipeline)
  • 步骤 3:构建并查看效果,测了好几遍终于成功了
    • 问题分析:
    • 解决方法:
  • Pipeline:执行步骤很直观图形界面、功能强大支持复杂逻辑编排但是入门需要花点时间
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档