您的位置 首页 Jenkins

jenkins 构建dockerfile 流水线

【Docker容器技术,jenkins流水线构建docker镜像-哔哩哔哩】 https://b23.tv/dLuYYVJ

 

参考项目dockerfile,jenkins:

https://gitee.com/wang-huamao/course

 

jenkins 脚本:

import java.text.SimpleDateFormat
pipeline {
    agent any

    options {
        timestamps()
    }
    parameters {
        choice(name: 'Run',choices: ['build', 'copy', ],description: '部署类型 (copy:直接复制上次部署的文件, build:重新构建)')
        booleanParam(name: 'Base', defaultValue: true, description: '部署基础模块')
        booleanParam(name: 'Install', defaultValue: false, description: '下载新的依赖')
        choice(name: 'Env',choices: ['dev', 'test', ],description: '部署环境')
    }
    stages {
        stage('构建基础模块代码') {
            when { expression { return params.Base } }
            steps {
                echo "=========================构建基础模块代码========================="
                script{
                    if ("${params.Run}" == "copy") {
                        echo "copy"
                    }else{
                        echo "Build"
                        if("${params.Install}" == "true") {
                        	sh "rm -rf node_modules"
                        	sh "npm install --registry=https://registry.npmmirror.com"
                        }
                        sh "rm -rf dist"
                        sh "npm run build:${params.Env}"
                        sh "cp -r ./dist/* /usr/share/nginx/html"
                    }
                }
            }
        }
        stage('构建镜像') {
            steps {
                echo "=========================构建镜像========================="
                //script{
                    //sh "docker build -t 127.0.0.1:8082/base-system/nginx:dev -f ./Dockerfile ."
                //}
            }
        }
        stage('推送镜像') {
            steps {
                echo "=========================推送镜像========================="
                //script{
                    //sh "docker login https://127.0.0.1:8082 -u admin -p QWEasd123"
                    //sh "docker push 127.0.0.1:8082/base-system/nginx:${params.Env}"
                //}
            }
        }

        stage(" dev环境部署"){
            when { expression { return params.Env == "dev" } }
            steps {
                echo "部署dev镜像"
           }
        }

        stage(" test环境部署"){
            when { expression { return params.Base == "test" } }
            steps {
                echo "部署test镜像"
            }
        }
    }
}

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章