如何在jenkins ssh-slave节点上运行的声明性管道中使用代理docker?

时间:2019-02-13 21:55:43

标签: docker jenkins-pipeline jenkins-slave

我正在将jenkins主服务器和从服务器作为docker容器运行。我已经使用标签为'worker'的jenkins / ssh-slave映像设置了一个从节点。我可以在工作程序节点上成功运行管道。但是,当我尝试使用Jenkinsfile运行docker build命令时,出现错误docker: not found

pipeline {
agent { label 'worker' }
tools {nodejs "node"}
stages {
    stage ('Build APP') {
        steps {
            echo 'BUILDING APPLICATION'
            sh 'npm install'
        }
    }

    stage ('Create Package') {
        steps {
            script{
                echo 'BUILDING DOCKER IMAGE'
                docker.build("package${env.BUILD_NUMBER}")
            }
        }
    }

    stage('Package Test') {
        agent { docker }
        steps {
            echo 'RUNNING IMAGE IN CONATAINER'
            sh "docker run -p 5050:4000 -d package${env.BUILD_NUMBER}"
            echo 'CHECKING HEALTH STATUS'
            script {
                try {
                    sh "curl -s --head --request GET http://127.0.0.1:5050/ | grep '200'"
                    echo 'Health Check Passed!'
                } catch(Exception e) {
                    echo "Health Check Failed!"
                }
            }
        }
    }

在第三步“程序包测试”中,我已将代理docker放置在文件中,但似乎不起作用。如何将代理docker放置在声明性管道中?

0 个答案:

没有答案
相关问题