skyaix
作者skyaix·2021-08-30 10:37
运维工程师·上海道客网络科技有限公司

流水线demo

字数 3027阅读 701评论 0赞 0

脚本化流水线语法

node { 
    stage('DockerBuild') { 
        sh '''DATE=`date +%m%d%H`
              DIR="/var/lib/jenkins/workspace/python-flask/flask"
              sudo /usr/bin/docker build -t flask_$DATE $DIR | tee $DIR/Docker_build_result.log''' 
    }
    stage('DockerLogin') {
        sh '''DATE=`date +%m%d%H`
              DIR="/var/lib/jenkins/workspace/python-flask/flask"
              sudo /usr/bin/docker login -u \\'xxxxx\\' -p \\'xxxxxx\\' | tee $DIR/Docker_build_result.log'''
    }
    stage('DockerTag') {
        sh '''DATE=`date +%m%d%H`
              DIR="/var/lib/jenkins/workspace/python-flask/flask"
              sudo /usr/bin/docker tag flask_$DATE skyking116/flask_$DATE | tee $DIR/Docker_build_result.log'''
    }
    stage('DockePush') {
        sh '''DATE=`date +%m%d%H`
              DIR="/var/lib/jenkins/workspace/python-flask/flask"
              sudo /usr/bin/docker push skyking116/flask_$DATE | tee $DIR/Docker_build_result.log'''
    }
    stage('DockeRun') {
        sh '''DATE=`date +%m%d%H`
              DIR="/var/lib/jenkins/workspace/python-flask/flask"
              sudo /usr/bin/docker run -itd -p 3002:3002 -v /var/run/docker.sock:/var/run/docker.sock -e REG_IP1=192.168.1.10 -e REG_IP2=192.168.1.11 --name apiName_$DATE skyking116/flask_$DATE | tee $DIR/Docker_build_result.log'''
    }
}

声明式流水线语法

pipeline {
    agent any
    stages {
        stage ('DockerBuild') {
            steps {
               sh '''DATE=`date +%m%d%H`
                  DIR="/var/lib/jenkins/workspace/python-flask/flask"
                  sudo /usr/bin/docker build -t flask_$DATE $DIR | tee $DIR/Docker_build_result.log''' 
            }
        }
        stage ('DockerLoginTag') {
            when {
                expression {
                        sh '''DATE=`date +%m%d%H`
                           DIR="/var/lib/jenkins/workspace/python-flask/flask"
                           sudo /usr/bin/docker login -u \\'xxxxxx\\' -p \\'xxxxxx\\' | tee $DIR/Docker_build_result.log'''
                }
            }
            steps {
               sh '''DATE=`date +%m%d%H`
                  DIR="/var/lib/jenkins/workspace/python-flask/flask"
                  sudo /usr/bin/docker tag flask_$DATE skyking116/flask_$DATE | tee $DIR/Docker_build_result.log'''
            }
        }
        stage ('DockePush') {
            steps {
               sh '''DATE=`date +%m%d%H`
                  DIR="/var/lib/jenkins/workspace/python-flask/flask"
                  sudo /usr/bin/docker push skyking116/flask_$DATE | tee $DIR/Docker_build_result.log'''
            }
        }
        stage ('DockeerRun') {
            steps {
               sh '''DATE=`date +%m%d%H`
                  DIR="/var/lib/jenkins/workspace/python-flask/flask"
                  sudo /usr/bin/docker run -itd -p 3002:3002 -v /var/run/docker.sock:/var/run/docker.sock -e REG_IP1=192.168.1.10 -e REG_IP2=192.168.1.11 --name apiName_$DATE skyking116/flask_$DATE | tee $DIR/Docker_build_result.log'''
            }
        } 
    }
}

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关问题

X社区推广