温馨提示×

温馨提示×

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

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

Jenkins流水线怎么配置

发布时间:2026-09-04 22:14:57 来源:亿速云 阅读:111 作者:小樊 栏目:系统运维

Jenkins 流水线(Pipeline)通常有两种写法:声明式 Pipeline(Declarative) 和 脚本式 Pipeline(Scripted)。最常见、推荐使用的是声明式 Pipeline,通过 Jenkinsfile 来配置。

下面我从 基本概念 → 创建方式 → 示例配置 → 常用配置项 给你讲清楚。


一、Jenkins 流水线是什么?

Jenkins Pipeline 是一套用代码描述 CI/CD 流程的方式,通常写在仓库根目录的 Jenkinsfile 中,支持:

  • 拉代码
  • 编译
  • 测试
  • 打包
  • 部署

二、创建 Jenkins 流水线(步骤)

方式一:在 Jenkins 页面创建

  1. 登录 Jenkins
  2. 新建任务 → 选择 Pipeline
  3. 在 Pipeline 配置中:
    • 选择 Pipeline script(直接写)
    • 或 Pipeline script from SCM(推荐,从 Git 拉 Jenkinsfile)

三、最基础的 Jenkinsfile 示例(声明式)

pipeline {
    agent any

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

        stage('构建') {
            steps {
                sh 'mvn clean package'
            }
        }

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

✅ 这是最基础的 3 步流水线


四、常见配置项详解

1️⃣ agent(指定运行节点)

agent any

常见写法:

agent { label 'linux' }
agent { docker 'maven:3.8' }

2️⃣ environment(环境变量)

environment {
    BRANCH = 'main'
    TOKEN = credentials('git-token')
}

3️⃣ stages(核心流程)

stages {
    stage('Build') {
        steps {
            sh 'make'
        }
    }
}

4️⃣ post(构建后操作)

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

五、从 Git 仓库读取 Jenkinsfile(推荐)

Pipeline 配置中选择:

  • Definition: Pipeline script from SCM
  • SCM: Git
  • Repository URL: 你的仓库地址
  • Script Path: Jenkinsfile

六、多分支流水线(非常常用)

  1. 新建任务 → Multibranch Pipeline
  2. 配置 Git 仓库
  3. Jenkins 会自动扫描分支并执行 Jenkinsfile

✅ 适合:

  • dev / test / main 分支
  • 不同分支不同部署策略

七、一个较完整的示例

pipeline {
    agent any

    environment {
        APP_NAME = 'demo'
    }

    stages {
        stage('Checkout') {
            steps {
                git branch: 'main', url: 'https://github.com/xx/demo.git'
            }
        }

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

        stage('Deploy') {
            steps {
                sh 'bash deploy.sh'
            }
        }
    }

    post {
        always {
            cleanWs()
        }
    }
}

八、调试建议

  • 使用 Blue Ocean 插件看流水线更直观
  • sh 'pwd' / sh 'env' 排查环境
  • 权限问题用 withCredentials

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

  • ✅ 用的什么语言(Java / Node / Python)
  • ✅ 是否要 Docker / K8s / 服务器部署
  • ✅ Jenkins 版本

我可以直接给你一份可复制使用的 Jenkinsfile。

向AI问一下细节

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

AI
助
手