jenkins使用pipeline例子

官方文档:

https://www.jenkins.io/doc/book/pipeline/getting-started/

 

例子1:

pipeline {
    agent any
    
    environment {
        CODE_DIR = "/jenkins_data/springboot_test"
    }

    stages {
        stage('清理并创建目录') {
            steps {
                echo "开始清理旧目录:${CODE_DIR}"
                sh "rm -rf ${CODE_DIR} || true"
                echo "旧目录清理完成,开始创建新目录:${CODE_DIR}"
                sh "mkdir -p ${CODE_DIR}"
                echo "新目录创建完成:${CODE_DIR}"
            }
        }
        
        stage('拉取代码') {
            steps {
                echo "进入目录:${CODE_DIR},开始拉取Git代码"
                // dir步骤:切换到指定目录执行后续操作(相当于cd ${CODE_DIR})
                dir("${CODE_DIR}") {
                    // 拉取Git代码
                    git(url: "http://192.168.1.105/devops/springboot.git",branch: "master",)
                    echo "Git代码拉取完成,当前目录文件列表:"
                    // 查看目录内容,验证代码是否拉取成功
                    sh "ls -l"
                    sh "pwd"
                }
            }
        }

        stage('maven打包') {
            steps {
                echo "进入代码目录打包:${CODE_DIR}"
                dir("${CODE_DIR}") {
                    // 执行打包命令,增加 -e(详细错误日志)、-U(强制更新快照依赖)
                    sh 'mvn clean package'
                }
            }
        }
        
    }
}

 

例子2:

执行shell脚本

 

pipeline {
    agent any
    
    environment {
        CODE_DIR = "/jenkins_data/springboot_test"
    }

    stages {
        stage('清理并创建目录') {
            steps {
                echo "开始清理旧目录:${CODE_DIR}"
                sh "rm -rf ${CODE_DIR} || true"
                echo "旧目录清理完成,开始创建新目录:${CODE_DIR}"
                sh "mkdir -p ${CODE_DIR}"
                echo "新目录创建完成:${CODE_DIR}"
            }
        }
        
        stage('拉取代码') {
            steps {
                echo "进入目录:${CODE_DIR},开始拉取Git代码"
                // dir步骤:切换到指定目录执行后续操作(相当于cd ${CODE_DIR})
                dir("${CODE_DIR}") {
                    // 拉取Git代码
                    git(url: "http://192.168.1.105/devops/springboot.git",branch: "master",)
                    echo "Git代码拉取完成,当前目录文件列表:"
                    // 查看目录内容,验证代码是否拉取成功
                    sh "ls -l"
                    sh "pwd"
                }
            }
        }

        stage('maven打包') {
            steps {
                echo "进入代码目录打包:${CODE_DIR}"
                dir("${CODE_DIR}") {
                    // 执行打包命令,增加 -e(详细错误日志)、-U(强制更新快照依赖)
                    sh 'mvn clean package'
                }
            }
        }

        stage('docker build构建镜像') {
            steps {
                echo "执行docker build构建脚本docker_build.sh"
                sh '/script/docker_build.sh'
            }
        }
        
    }
}

 

脚本内容

[root@master script]# more docker_build.sh 
#!/bin/bash

cd /jenkins_data/springboot_test/target
cp demo-1.0-SNAPSHOT.jar /tmp/myspringboot/
cd /tmp/myspringboot/
docker build -t myspringboot .

 

posted @ 2025-11-11 11:37  slnngk  阅读(5)  评论(0)    收藏  举报