ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jenkins pipeline

2022-08-12 13:04:32  阅读:192  来源: 互联网

标签:pipeline harbor currentBuild result env jenkins root def


8.2.0 安装JDK
[root@harbor ~ ]# rpm -ivh jdk-8u172-linux-x64.rpm
[root@harbor ~ ]# rpm -ivh jenkins-2.249.1-1.1.noarch.rpm
[root@harbor ~ ]# yum install net-tools git -y

8.2.1配置maven
[root@harbor ~ ] cd /soft
[root@harbor ~ ] tar xvf apache-maven-3.6.2-bin.tar.gz
[root@harbor ~ ] mv apache-maven-3.6.2 /usr/local/
[root@harbor ~ ] vim /etc/profile
export MAVEN_HOME="/usr/local/apache-maven-3.6.2"
export PATH=${PATH}:${MAVEN_HOME}/bin

#应用配置
[root@harbor bin]# source /etc/profile

#获取maven home
[root@harbor bin]# mvn -v


[root@master-1 passport]# service jenkins restart
[root@master-1 passport]# chkconfig jenkins on

[root@harbor soft]# cp /var/lib/jenkins/hudson.model.UpdateCenter.xml /var/lib/jenkins/hudson.model.UpdateCenter.xml.bak


21fe93b1-e232-4a35-95ab-e75784572175

java -Dspring.cloud.nacos.discovery.server-addr=192.168.91.11:8848 \
-Dspring.cloud.nacos.config.server-addr=192.168.91.11:8848 \
-jar target/demo-0.0.1-SNAPSHOT.jar


pipeline{
agent any
environment {
def git_url="http://192.168.91.23/springcloud/passport.git"
def git_branch = "${branch}"
def git_auth = "21fe93b1-e232-4a35-95ab-e75784572175"
def project_version = "${release}-${UUID.randomUUID().toString()}"
def docker_nodes = "${nodes}"
def job_mvn = "${WORKSPACE}"
def mvn = '/usr/local/apache-maven-3.6.2/bin/mvn'
def image_name = 'provider-passport-demo'
def page_path = "${WORKSPACE}/target"
def project_path="/data/images/passport"
def remote_ip="192.168.91.18"
def app_name="provider-passport-demo"
def remote_yaml="/mnt/yaml/passport/provider-passport-demo.yaml"

}
stages{
stage('Git Checkout'){
steps{
echo 'check git'
checkout([
$class: 'GitSCM',
branches: [[name: "${git_branch}" ]],
doGenerateSubmoduleConfigurations: false,
extensions: [],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: "${git_auth}",
url: "${git_url}"
]]
])
}
}
stage('Manven Build'){
when {
expression {
currentBuild.result == null || currentBuild.result == 'SUCCESS'
}
}
steps{
sh "cd ${job_mvn} ; ${mvn} clean package -Dmaven.test.skip=true -U"
}
}
stage('Copy Jar'){
when {
expression {
currentBuild.result == null || currentBuild.result == 'SUCCESS'
}
}
steps{
sh "/usr/bin/cp -rf ${env.page_path}/demo-*-SNAPSHOT.jar ${project_path}"
}
}
stage('Docker Build'){
when {
expression {
currentBuild.result == null || currentBuild.result == 'SUCCESS'
}
}
steps{
sh "cd ${project_path} && docker build -t repo.hostscc.com/springcloud/${env.image_name}:${env.project_version} ."
}
}
stage('Push Docker'){
when {
expression {
currentBuild.result == null || currentBuild.result == 'SUCCESS'
}
}
steps{
sh "docker push repo.hostscc.com/springcloud/${env.image_name}:${env.project_version}"
}
}
stage('Apply Docker'){
when {
expression {
currentBuild.result == null || currentBuild.result == 'SUCCESS'
}
}
steps{
sh "ssh ${env.remote_ip} 'sed -i 's@${env.image_name}:.*@${env.image_name}:${env.project_version}@g' ${env.remote_yaml}';ssh ${env.remote_ip} '/usr/local/bin/kubectl apply -f ${env.remote_yaml}'"
}
}
stage('Replicas Docker'){
when {
expression {
currentBuild.result == null || currentBuild.result == 'SUCCESS'
}
}
steps{
sh "ssh ${env.remote_ip} '/usr/local/bin/kubectl scale deployment ${env.app_name} --replicas=${env.docker_nodes}'"
}
}
}
post {
success {
sh "echo 'Success success'"
}

failure {
sh "echo 'Faild faild'"
}
}
}

 


java -Dspring.cloud.nacos.discovery.server-addr=192.168.91.11:8848 \
-Dspring.cloud.nacos.config.server-addr=192.168.91.11:8848 \
-jar provider-passport-0.0.1-SNAPSHOT.jar

 

8.2.0 安装JDK
[root@harbor ~ ]# rpm -ivh jdk-8u172-linux-x64.rpm
[root@harbor ~ ]# rpm -ivh jenkins-2.249.1-1.1.noarch.rpm
[root@harbor ~ ]# yum install net-tools git -y

8.2.1配置maven
[root@harbor ~ ] cd /soft
[root@harbor ~ ] tar xvf apache-maven-3.6.2-bin.tar.gz 
[root@harbor ~ ] mv apache-maven-3.6.2 /usr/local/
[root@harbor ~ ] vim /etc/profile
export MAVEN_HOME="/usr/local/apache-maven-3.6.2"
export PATH=${PATH}:${MAVEN_HOME}/bin

#应用配置
[root@harbor bin]# source /etc/profile

#获取maven home
[root@harbor bin]# mvn -v


[root@master-1 passport]# service jenkins restart
[root@master-1 passport]# chkconfig jenkins on

[root@harbor soft]# cp /var/lib/jenkins/hudson.model.UpdateCenter.xml /var/lib/jenkins/hudson.model.UpdateCenter.xml.bak


21fe93b1-e232-4a35-95ab-e75784572175

java -Dspring.cloud.nacos.discovery.server-addr=192.168.91.11:8848 \
-Dspring.cloud.nacos.config.server-addr=192.168.91.11:8848 \
-jar target/demo-0.0.1-SNAPSHOT.jar


pipeline{
    agent any
    environment {
        def git_url="http://192.168.91.23/springcloud/passport.git"
        def git_branch = "${branch}"
        def git_auth = "21fe93b1-e232-4a35-95ab-e75784572175"
        def project_version = "${release}-${UUID.randomUUID().toString()}"
        def docker_nodes = "${nodes}"
        def job_mvn = "${WORKSPACE}"
        def mvn = '/usr/local/apache-maven-3.6.2/bin/mvn'
        def image_name = 'provider-passport-demo'
        def page_path = "${WORKSPACE}/target"
        def project_path="/data/images/passport"
        def remote_ip="192.168.91.18"
        def app_name="provider-passport-demo"
        def remote_yaml="/mnt/yaml/passport/provider-passport-demo.yaml"
      
    }
    stages{
        stage('Git Checkout'){
            steps{
                echo 'check git'
                checkout([
                    $class: 'GitSCM',
                    branches: [[name: "${git_branch}" ]],
                    doGenerateSubmoduleConfigurations: false,
                    extensions: [],
                    submoduleCfg: [],
                    userRemoteConfigs: [[
                    credentialsId: "${git_auth}",
                        url: "${git_url}"
                    ]]
                ])
            }    
        }
        stage('Manven Build'){
            when {
                expression {
                    currentBuild.result == null || currentBuild.result == 'SUCCESS'
                }
            }
            steps{
                sh "cd ${job_mvn} ; ${mvn} clean package -Dmaven.test.skip=true -U"
            }
        }
        stage('Copy Jar'){
            when {
                expression {
                    currentBuild.result == null || currentBuild.result == 'SUCCESS'
                }
            }
            steps{
                sh "/usr/bin/cp -rf ${env.page_path}/demo-*-SNAPSHOT.jar ${project_path}"
            }
        }
        stage('Docker Build'){
            when {
                expression {
                    currentBuild.result == null || currentBuild.result == 'SUCCESS'
                }
            }
            steps{
                sh "cd ${project_path} && docker build -t repo.hostscc.com/springcloud/${env.image_name}:${env.project_version} ."
            }
        }
        stage('Push Docker'){
            when {
                expression {
                    currentBuild.result == null || currentBuild.result == 'SUCCESS'
                }
            }
            steps{
                sh "docker push repo.hostscc.com/springcloud/${env.image_name}:${env.project_version}"
            }
        }
        stage('Apply Docker'){
            when {
                expression {
                    currentBuild.result == null || currentBuild.result == 'SUCCESS'
                }
            }
            steps{
                sh "ssh ${env.remote_ip} 'sed -i 's@${env.image_name}:.*@${env.image_name}:${env.project_version}@g' ${env.remote_yaml}';ssh ${env.remote_ip} '/usr/local/bin/kubectl apply -f ${env.remote_yaml}'"
            }
        }
        stage('Replicas Docker'){
            when {
                expression {
                    currentBuild.result == null || currentBuild.result == 'SUCCESS'
                }
            }
            steps{
                sh "ssh ${env.remote_ip} '/usr/local/bin/kubectl scale deployment ${env.app_name} --replicas=${env.docker_nodes}'"
            }
        }
    }
    post {
        success {
            sh "echo 'Success success'"
        }
        
        failure {
            sh "echo 'Faild faild'"
        }
    }
}




java -Dspring.cloud.nacos.discovery.server-addr=192.168.91.11:8848 \
-Dspring.cloud.nacos.config.server-addr=192.168.91.11:8848 \
-jar provider-passport-0.0.1-SNAPSHOT.jar

 

标签:pipeline,harbor,currentBuild,result,env,jenkins,root,def
来源: https://www.cnblogs.com/gaoyuechen/p/16579493.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有