Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Jenkins中运行内部构建docker容器?_Docker_Jenkins - Fatal编程技术网

如何在Jenkins中运行内部构建docker容器?

如何在Jenkins中运行内部构建docker容器?,docker,jenkins,Docker,Jenkins,在我的应用程序中,package.json中有一个build脚本 build创建dist文件夹,我的应用程序就在里面 我让詹金斯大师和詹金斯探员进来观看比赛 但是现在,在我这么做之后,我不认为我的bash命令在容器中运行 我想克隆repo并在docker容器内运行npm I和npm运行构建- 如何修改此配置以实现此目的 throttle(['throttleDocker']) { node('docker') { wrap([$class: 'AnsiColorBuildWrappe

在我的应用程序中,
package.json
中有一个
build
脚本

build
创建
dist
文件夹,我的应用程序就在里面

我让詹金斯大师和詹金斯探员进来观看比赛

但是现在,在我这么做之后,我不认为我的bash命令在容器中运行

我想
克隆
repo并在docker容器内运行
npm I
npm运行构建
-

如何修改此配置以实现此目的

throttle(['throttleDocker']) {
  node('docker') {
    wrap([$class: 'AnsiColorBuildWrapper']) {
      try{
        stage('Build') {
          checkout scm
          sh '''
            echo "in Setup"
            docker ps -a
            echo "after docker"
            # ./ci/docker-down.sh
            # ./ci/docker-up.sh
          '''
        }
        stage('Test'){
          parallel (
            "unit": {
              sh '''
                echo "in unit"
               # ./ci/test/unit.sh
              '''
            },
            "functional": {
              sh '''
                echo "in functional"
               # ./ci/test/functional.sh
              '''
            }
          )
        }
        stage('Capacity Test') {
          sh '''
            echo "in Capacity Test"
           # ./ci/test/stress.sh
          '''
        }
      }
      finally {
        stage('Cleanup') {
          sh '''
            echo "in Cleanup"
            # ./ci/docker-down.sh
          '''
        }
      }
    }
  }
}
我试着修改这些代码,但它们不起作用。我还在
try
之后添加代理

 stage('Build') {
        agent {
            docker {
              label 'docker'
              image 'node:latest'
            }
          }
         steps {
           checkout scm
           sh 'node -v'
         }
      ...

您可以尝试下面的脚本化管道

node {

    docker.image('yourimage').inside {
        stage('Build'){
            sh 'echo "Build stage inside container"'
        }
        stage('Test'){
            sh 'echo "Test Stage inside container"'
        }
    }
}

您可以尝试下面的脚本化管道

node {

    docker.image('yourimage').inside {
        stage('Build'){
            sh 'echo "Build stage inside container"'
        }
        stage('Test'){
            sh 'echo "Test Stage inside container"'
        }
    }
}