温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

jenkins如何写流水线

发布时间:2026-10-01 23:32:39 来源:亿速云 阅读:110 作者:小樊 栏目:编程语言

下面给你一个从入门到可用的 Jenkins 流水线(Pipeline)写法说明,包含最常用的 Declarative Pipeline(声明式) 示例。


一、Jenkins 流水线是什么?

Jenkins Pipeline 用 代码(Groovy 语法) 描述整个构建、测试、部署流程,常见两种写法:

  1. Declarative Pipeline(推荐,结构清晰)
  2. Scripted Pipeline(灵活但难维护)

二、最简单的流水线示例

1️⃣ 新建 Pipeline 任务

  • Jenkins → 新建任务 → 选择 Pipeline
  • 在 Pipeline 脚本框里粘贴下面内容

2️⃣ Hello World 示例

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello Jenkins'
            }
        }
    }
}

✅ 保存 → 立即构建


三、标准项目流水线示例(常用结构)

pipeline {
    agent any

    environment {
        BRANCH_NAME = 'main'
    }

    stages {
        stage('拉取代码') {
            steps {
                git branch: 'main',
                    url: 'https://github.com/your/repo.git'
            }
        }

        stage('构建') {
            steps {
                sh 'npm install'
                sh 'npm run build'
            }
        }

        stage('测试') {
            steps {
                sh 'npm test'
            }
        }

        stage('部署') {
            steps {
                sh 'scp -r dist user@server:/var/www/'
            }
        }
    }

    post {
        success {
            echo '构建成功'
        }
        failure {
            echo '构建失败'
        }
    }
}

四、常用关键字说明

关键字 作用
pipeline 流水线根节点
agent 指定执行节点(any / label)
stages 阶段集合
stage 一个阶段(如构建、测试)
steps 具体执行命令
environment 环境变量
post 构建后操作
triggers 自动触发(如定时)

五、使用 Jenkinsfile(推荐做法 ✅)

项目根目录创建 Jenkinsfile

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                sh 'make'
            }
        }
    }
}

Jenkins 配置

  • Pipeline → Definition → Pipeline script from SCM
  • SCM:Git
  • Script Path:Jenkinsfile

✅ 好处:流水线版本化,和代码一起管理


六、定时构建示例

pipeline {
    agent any
    triggers {
        cron('H 2 * * *')  // 每天凌晨2点
    }
    stages {
        stage('Build') {
            steps {
                echo '定时构建'
            }
        }
    }
}

七、参数化流水线

pipeline {
    agent any
    parameters {
        string(name: 'ENV', defaultValue: 'test', description: '环境')
    }
    stages {
        stage('Deploy') {
            steps {
                echo "部署到 ${params.ENV}"
            }
        }
    }
}

八、常见坑提醒

  • ❌ sh 在 Windows 节点不能用(用 bat)
  • ❌ 没装 Git 插件会拉不了代码
  • ✅ 推荐用 Jenkinsfile + Git
  • ✅ 复杂逻辑拆成共享库(shared library)

如果你愿意,可以告诉我:

  • ✅ 用的什么语言(Java / Node / Python / Go)
  • ✅ 是否 Docker / K8s
  • ✅ 是否要自动部署到服务器

我可以直接帮你写一套可复制的 Jenkinsfile。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手