Fork me on GitHub

Jenkins Pipeline项目构建

一、项目搭建、配置

Jenkins除了创建之前的自由风格的项目,还可以进行流水线项目的创建,相比较于自由风格的项目,流水线的功能更为强大,通过Jenkins流水线的代码定义了整个的构建过程, 它通常包括构建, 测试和交付应用程序的阶段 。

 然后进入配置页面,它也有很多可选,如General、构建触发器、高级项目选项以及流水线,不过我们可以直接来到流水线这里,来进行构建项目,然后有两种写Pipeline脚本的方式:

  • Pipeline script(直接在页面上写)
  • Pipeline script from SCM(在项目根目录下新建Jenkinsfile文件,然后写脚本,推荐使用)

 使用第二种方式:

 接着主要就是在Jenkinsfile文件中写入Jenkins语法了,它有两种写法方式:

  • 声明式
Jenkinsfile (Declarative Pipeline)
pipeline {
    agent any 
    stages {
        stage('Build') { 
            steps {
                // 
            }
        }
        stage('Test') { 
            steps {
                // 
            }
        }
        stage('Deploy') { 
            steps {
                // 
            }
        }
    }
}
  • 脚本式
Jenkinsfile (Scripted Pipeline)
node {  
    stage('Build') { 
        // 
    }
    stage('Test') { 
        // 
    }
    stage('Deploy') { 
        // 
    }
}

声明式容易上手,所以可以采用声明式语法,详情查看官网:https://www.jenkins.io/zh/doc/book/pipeline/

在项目根目录下创建Jenkinsfile文件:

// Jenkinsfile

pipeline {
    agent any
    stages {
        stage("auto_test_script") {
            steps {
                sh '''echo "https://mirrors.ustc.edu.cn/alpine/v3.6/main/" > /etc/apk/repositories
                    echo "https://mirrors.ustc.edu.cn/alpine/v3.6/community/" >> /etc/apk/repositories
                    apk update
                    apk add python3
                    python3 main.py'''
            }
        }

        stage("show_info") {
            steps {
                echo "执行成功"
            }
        }
    }
    post {
      always {
        // One or more steps need to be included within each condition's block.
        echo "${env.JOB_BASE_NAME}" //使用内置变量
      }
}

}

二、项目测试

在Pipeline项目中只是在流水线步骤中添加了SCM仓的地址,以及指明了Jenkinsfile方式运行构建过程。所以代码首先会从GitLab上被拉取下来,接着执行Jenkinsfile文件中构建过程。

 

posted @ 2022-09-15 08:29  iveBoy  阅读(284)  评论(0编辑  收藏  举报
TOP