[jenkins]-jenkins使用docker镜像进行编译构建

导语:记录一下在流水线中使用docker镜像作为构建的环境。

缺少插件Docker Pipeline

groovy.lang.MissingPropertyException: No such property: docker for class: groovy.lang.Binding

完整流水线如下

pipeline {
    agent {node {label "master"}}
    stages {
        stage('WebBuild') {
            steps {
                script {
                    docker.image('node:10.19.0-alpine').inside('-u 0:0 -v /var/jenkins_home/.npm:/root/.npm') {


                        sh """
                            id 
                            ls /root/.npm

                            ls /root/ -a
                            npm config set unsafe-perm=true
                            npm config list
                            npm config set cache  /root/.npm
                            #npm config set registry https://registry.npm.taobao.org
                            npm config list
                            ls 
                            cd demo && npm install  --unsafe-perm=true && npm run build  && ls -l dist/ && sleep 15 
                        """
                    }
                }
            }
        }

      stage("BuildImage"){
        steps {
          script{


            sh """
                #构建镜像
                cd demo
                docker build -t demo/demo-web-app:1.1.1_xxxxxxxx1 .

                #docker push demo/demo-web-app:1.1.1_xxxxxxxx1

            """

          }
        }
      }
    }
}

[jenkins]-jenkins使用docker镜像进行编译构建_第1张图片

参考

https://cloud.tencent.com/developer/article/1599849

你可能感兴趣的:(jenkins,jenkins,docker,运维)