
最近在学习 Jenkins,基于本地测试环境进行了一些实践,整理了以下学习笔记帮助自己梳理流程。
场景:本地测试环境(虚拟机)需提前安装 JDK 和 Jenkins 目的:实践 Jenkins 基础操作,掌握任务创建与配置的核心流程 内容:记录流水线项目(Pipeline)的创建、参数化配置及执行步骤

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

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

字段 | 示例值 | 说明 |
|---|---|---|
名称 | branch | 参数名,脚本中用 ${branch} 引用 |
描述 | 选择你的分支 | 在构建时可以看到描述内容 |
选项 | dev/test | 分支名 |
2.string 参数比较灵活不局限于固定选项,可以自定义输入,预设一个默认值
3、保存看下实际展示效果

由于本次为本地测试没有真实代码库就把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 "自己定义逻辑"
}
}
}
}
}
}
}提示:可点击 “流水线语法”按钮,使用生成器快速生成代码片段(如 sh、git、input stage 等)。

控制台输出

第一次执行报错了

},但错误行不一定是 105 行,可能是嵌套结构遗漏。stage 内未正确闭合。stage、steps、script 的括号匹配✅ 修复后重新构建,成功执行
重要提示:
修复脚本错误后,不要从历史的旧失败构建任务上重试。 Jenkins 的每次构建都会记录当时所使用的 Pipeline 脚本内容,即使之后在配置中更新了脚本,历史构建的执行仍是基于其创建时的脚本版本。 所以重试历史的旧构建任务时是会使用“错误的旧脚本”的
正确做法:
执行一次全新的构建任务。
温馨提示:
1、本文为学习笔记性质,所有配置均基于本地测试环境验证仅用于学习交流。
2、由于环境差异、版本变更及安全策略不同,严禁直接照搬至生产环境。实际应用时请结合团队规范、安全要求和 CI/CD 最佳实践谨慎评估与调整。
感谢你看到这里!👋
如果你也在学习 Jenkins,欢迎留言交流:
如果你觉得哪里说得不对,或者有更好的做法,欢迎留言指导,一起探讨、共同进步!
期待你的分享!一起进步 💪