zoukankan      html  css  js  c++  java
  • pipeline-流水线模板

    node ("docker")  自定义节点 系统管理--> 节点管理

    一、模板

    # credentialsId  账号密码id    凭据中查看添加
    # url gitlab地址
    
    node ("docker") {   // 指定Slave标签
       // 拉取代码
       stage('Git Checkout') { 
            checkout([$class: 'GitSCM', branches: [[name: '$Branch']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId:"d1968253-a99c-4b4c-b877-1617aa164181",url: 'http://192.168.56.15/root/java-demo.git']]])
      }
       // 代码编译
       stage('Maven Build') {
            sh '''
            export JAVA_HOME=/var/lib/jdk1.8.0_60
            /var/lib/apache-maven-3.5.0/bin/mvn clean package -Dmaven.test.skip=true
            '''
       }
       // 项目打包到镜像并推送到镜像仓库
       stage('Build and Push Image') {
    sh '''
    REPOSITORY=192.168.56.11/project/java-demo:${Branch}
    cat > Dockerfile << EOF
    FROM 192.168.56.11/library/tomcat:v1
    RUN rm -rf /usr/local/tomcat/webapps/ROOT
    COPY target/*.war /usr/local/tomcat/webapps/ROOT.war
    CMD ["catalina.sh", "run"]
    EOF
    docker build -t $REPOSITORY .
    docker login -u zjy -p 123456A.com 192.168.56.11
    docker push $REPOSITORY
    '''
       }
       // 部署到Docker主机
       stage('Deploy to Docker') {
            sh '''
            REPOSITORY=192.168.56.11/project/java-demo:${Branch}
            docker rm -f java-demo |true
            docker image rm $REPOSITORY |true
            docker login -u zjy -p 123456A.com 192.168.56.11
            docker  run -d --name java-demo -p 88:8080 $REPOSITORY
            '''
       }
    }
    模板一

    二、模板

    #!groovy
    
    pipeline {
        agent {node {label 'master'}}
    
        environment {
            PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin"
        }
    
        stages {
            stage("Checkout test repo") {
                steps{
                    sh 'git config --global http.sslVerify false'
                    dir ("${env.WORKSPACE}") {
                        git branch: 'master', credentialsId:"d1968253-a99c-4b4c-b877-1617aa164181", url: 'http://192.168.56.11/root/test-repo.git'
                    }
                }
            }
            stage("Print env variable") {
                steps {
                    dir ("${env.WORKSPACE}") {
                        sh """
                        echo "[INFO] Print env variable"
                        echo "Current deployment environment is $deploy_env" >> test.properties
                        echo "The build is $version" >> test.properties
                        echo "[INFO] Done..."
                        """
                    }
                }
            }
            stage("Check test properties") {
                steps{
                    dir ("${env.WORKSPACE}") {
                        sh """
                        echo "[INFO] Check test properties"
                        if [ -s test.properties ]
                        then 
                            cat test.properties
                            echo "[INFO] Done..."
                        else
                            echo "test.properties is empty"
                        fi
                        """
    
                        echo "[INFO] Build finished..."
                    }
                }
            }
        }
    }
    模板二
  • 相关阅读:
    Ext2.0布局类初探
    从DHTML、HTC、XHTML到AJAX
    我常用的一些ASP自定义函数
    Javascript的调试利器:Firebug使用详解
    ODBC的多线程应用
    召唤有丰富IOCP实践经验的同行
    欢迎
    关于.NET安装时的dotNETFXRedist_x86.msm
    所谓设计模式
    VC编程经验汇总(一)
  • 原文地址:https://www.cnblogs.com/zhaojingyu/p/12170872.html
Copyright © 2011-2022 走看看