Дженкинс В узле отказано в доступе - PullRequest
0 голосов
/ 06 июня 2018

Это журналы моей казни Дженкинса:

> Step 1/2 : FROM tomcat:9.0.4-jre8-alpine
 ---> 631138bc037d
Step 2/2 : COPY /Fatcat-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/fatcat.war
 ---> Using cache
 ---> 700d13ec5fb5
Successfully built 700d13ec5fb5
> 
> [Pipeline] dockerFingerprintFrom
> 
> [Pipeline] }
> 
> [Pipeline] // stage
> 
> [Pipeline] sh
> 
> [unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA]
> Running shell script
> 
>     + docker inspect -f . 3bf1d418c6b61a03e2f2abe9d37b4c5e759e0b0a
> 
> . [Pipeline] withDockerContainer Jenkins does not seem to be running
> inside a container
> 
>     $ docker run -t -d -u 1000:1000 -w /data/jenkins_ws/unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA
> -v /data/jenkins_ws/unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA:/data/jenkins_ws/unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA:rw,z
> -v /data/jenkins_ws/unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA@tmp:/data/jenkins_ws/unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA@tmp:rw,z
> -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** 3bf1d418c6b61a03e2f2abe9d37b4c5e759e0b0a cat
>     $ docker top f3826ded71315b33b4d352ac2181035655f73d58a7c998040db36b6d664f1421 -eo
> pid,comm
> 
> [Pipeline] { [Pipeline] stage [Pipeline] { (Test) [Pipeline] sh
> [unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA]
> Running shell script
> + node --version /data/jenkins_ws/unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA@tmp/durable-f0e86b83/script.sh:
> line 1: node: Permission denied [Pipeline] }enter code here [Pipeline]
> // stage [Pipeline] } 
> `$ docker stop --time=1`
> f3826ded71315b33b4d352ac2181035655f73d58a7c998040db36b6d664f1421
> 
>     $ docker rm -f f3826ded71315b33b4d352ac2181035655f73d58a7c998040db36b6d664f1421
> 
> [Pipeline] // withDockerContainer [Pipeline] } [Pipeline] // node
> [Pipeline] End of Pipeline ERROR: script returned exit code 127
> Finished: FAILURE

Проблема в этой строке:

> [unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA] Running shell script
> 
>     + node --version
> 
> > /data/jenkins_ws/unFatCat_master-RSJASSVAHZJXKMANQQZOIIGTV3YC2D2GJS65WJ23OAY3WGXOVRJA@tmp/durable-f0e86b83/script.sh:
> > line 1: node: Permission denied

Я хочу использовать локальное объявление-док докер.Это Dockerfile:

FROM node:7-alpine
FROM tomcat:9.0.4-jre8-alpine

COPY /Fatcat-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/fatcat.war

Обратите внимание, я загружаю узел : 7-alpine в Docker, а не в конфигурацию Jenkins

Это мой Jenkinsfile:

pipeline {
    agent { dockerfile true }
    stages {
        stage('Test') {
            steps {
                sh 'node --version'
                sh 'mvn --version'
            }
        }
    }
}

Я установил плагин Nodejs в Jenkins.

Это мои вопросы:

  1. Почему node --version не выполняется?
  2. , почему сообщается об ошибке отказано ?
  3. Может ли быть проблема в том, что node --version не выполняется внутри контейнера?

Я уже проверил ошибку denied из этой ссылки ,Однако раздел монтируется с параметром exec.Поэтому предложенное решение для меня недействительно.

In-process script approval window

1 Ответ

0 голосов
/ 06 июня 2018

Измените десятичный конвейер Jenkins в формате ниже.Надеюсь, вы получите результат.

pipeline {
    agent {
        docker { 
                image 'maven:3-alpine' 
                image 'node:7-alpine' 
           }
    }
    stages {
        stage('Test') {
            steps {
                sh 'node --version'
                sh 'mvn --version'
            }
        }
    }
}
...