jenkins 之devops集成CI工具

在gitlab 创建项目

http://gitlab.local/root/devops.git
Jenkinsfiles/ci.jenkinsfile


pipeline{
    agent { node { label "masetr"}}
    stages{
        stage("build"){
            steps{
                script{
                    def mvnHome = tool "M2"
                    sh "${mvnHome}/bin/mvn -v"
                }
            }
        }
    }
}

  jenkins 流水线配置

image

image

构建参数

#!gorooy
String buildShell = "$env.buildShell" 


pipeline{
    agent { node { label "masetr"}}
    stages{
        stage("build"){
            steps{
                script{
                    def mvnHome = tool "M2"
                    //打包
                    sh "${mvnHome}/bin/mvn ${buildShell}"
                }
            }
        }
    }
}

  jenkins设置

image

 

 

ant 集成

pipeline{
    agent { node { label "masetr"}}
    stages{
        stage("mvabuild"){
            steps{
                script{
                    def mvnHome = tool "M2"
                    sh "${mvnHome}/bin/mvn ${builShell}"
                }
            }
        }
        stage("antbuild"){
            steps{
                script{
                    def antHome= tool "ANT"
                    sh "${antHome}/bin/ant ${builShell}"
                }
            }
        }
    }
}  

  

 

下载设置环境变量

wget https://dlcdn.apache.org//ant/binaries/apache-ant-1.9.16-bin.zip
unzip apache-ant-1.9.16-bin.zip 
mv apache-ant-1.9.16 /usr/local/
ln -s /usr/local/apache-ant-1.9.16 /usr/local/apache-ant
[root@jenkins ~]# cat /etc/profile.d/groovy.sh
export GROOVY_HOME=/usr/local/groovy
 
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export M2_HOME=/usr/local/apache-maven 
export ANT_HOME=/usr/local/apache-ant
export PATH=$GROOVY_HOME/bin:$M2/bin:$ANT_HOME/bin:$PATH

[root@jenkins ~]# source /etc/profile.d/groovy.sh

 

 

 jenkins设置

image

 项目构建参数

image

 

 集成gradle

wget https://services.gradle.org/distributions/gradle-9.5.0-bin.zip
unzip gradle-9.5.0-bin.zip 
mv gradle-9.5.0 /usr/local/gradle
[root@jenkins ~]# cat /etc/profile.d/groovy.sh 
export GROOVY_HOME=/usr/local/groovy
 
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export M2_HOME=/usr/local/apache-maven 
export ANT_HOME=/usr/local/apache-ant
export GRADLE_HOME=/usr/local/gradle
export PATH=$GROOVY_HOME/bin:$M2/bin:$ANT_HOME/bin:$GRADLE_HOME/bin:$PATH
source /etc/profile.d/groovy.sh 

  集成

pipeline{
    agent { node { label "masetr"}}
    stages{
        stage("mvabuild"){
            steps{
                script{   
                    def mvnHome = tool "M2"
                    sh "${mvnHome}/bin/mvn ${builShell}"
                }
            }
        }
        stage("antbuild"){
            steps{
                script{
                    try{
                        def antHome= tool "ANT"
                        sh "${antHome}/bin/ant ${builShell}"
                    }catch(e){
                        println(e)
                    }
                }
            }
        }
        stage("gradlebuild"){
            steps{
                script{
                    def gradleHome=tool "GRADLE"
                    sh "${gradleHome}/bin/gradle  ${builShell}"
                }
            }
        }
    }
}

 

 npm 集成

[root@jenkins ~]# wget https://nodejs.org/dist/v25.9.0/node-v25.9.0-linux-x64.tar.xz
[root@jenkins ~]# tar xf node-v25.9.0-linux-x64.tar.xz 
[root@jenkins ~]# mv node-v25.9.0-linux-x64 /usr/local/node
[root@jenkins ~]# cat /etc/profile.d/groovy.sh 
export GROOVY_HOME=/usr/local/groovy
 
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export M2_HOME=/usr/local/apache-maven 
export ANT_HOME=/usr/local/apache-ant
export GRADLE_HOME=/usr/local/gradle
export NODE_HOME=/usr/local/node
export PATH=$GROOVY_HOME/bin:$M2/bin:$ANT_HOME/bin:$GRADLE_HOME/bin:$NODE_HOME/node:$PATH
[root@jenkins ~]# source /etc/profile.d/groovy.sh 

  

image

集成

pipeline{
    agent { node { label "masetr"}}
    stages{
        stage("mvabuild"){
            steps{
                script{   
                    def mvnHome = tool "M2"
                    sh "${mvnHome}/bin/mvn ${builShell}"
                }
            }
        }
        stage("antbuild"){
            steps{
                script{
                    try{
                        def antHome= tool "ANT"
                        sh "${antHome}/bin/ant ${builShell}"
                    }catch(e){
                        println(e)
                    }
                }
            }
        }
        stage("gradlebuild"){
            steps{
                script{
                    def gradleHome=tool "GRADLE"
                    sh "${gradleHome}/bin/gradle  ${builShell}"
                }
            }
        }
        stage("nodebuild"){
            steps{
                script{
                    def npmHome=tool "NPM"
                    sh "export NODE_HOME=${npmHome} && export PATH=\$NODE_HOME/bin:\$PATH && ${npmHome}/bin/npm ${builShell}"
                }
            }
        }

    }
}

  封装 

设置共享库

image

共享库内容

package org.devops
//构建类型
def Build(buildType,buildShell){
    def buildTools = ["mvn":"M2","ant":"ANT","gradle":"GRADLE","npm":"NPM"]
    println("当前选择的构建类型为${buildType}")
    buildHome= tool buildTools[buildType]
    if ("${buildType}"=="npm"){
        sh """export NODE_HOME=${buildHome} 
              export PATH=\$NODE_HOME/bin:\$PATH 
              ${buildHome}/bin/${buildType} ${buildShell}"""
    }else{
        sh "${buildHome}/bin/${buildType} ${buildShell}"
    }
}

 

 

jenkins 里设置共享库地址

image

名字

image

仓库地址

image

ci 集成流水线代码

#!groovy
@Library('jenkinslibrary@master') _
def build = new org.devops.build()
String buildShell = "${env.buildShell}"
String buildType = "${env.buildType}"
pipeline{
    agent { node { label "masetr"}}
    stages{
        stage("build"){
            steps{
                script{  
                    build.Build(buildType, buildShell)
                }
            }
        }
    }
}

 

构建jenkins 流水线项目

类型参数

image

打包参数

image

 打包脚本地址

image

打包这个项目具体文件

image

 

posted @ 2026-05-27 12:30  烟雨楼台,行云流水  阅读(7)  评论(0)    收藏  举报