Как использовать docker -компонентные тома внутри контейнера Jenkins - PullRequest
0 голосов
/ 07 апреля 2020

Мой экземпляр Jenkins запускается из образа jenkins / jenkins docker. При установке docker -in- docker через настройку тома, например: -v /var/run/docker.sock:/var/run/docker.sock, этот экземпляр может запускать контейнеры. Я также установил docker -compose в dockerfile, который создан из образа jenkins / jenkins, как описано в руководстве по установке docker -compose.

Я столкнулся с проблемой при использовании docker - Компоновка и тома в сценариях Jenkinsfile:

version: "3"

services:
  newman_tests:
    image: postman/newman
    container_name: newman
    volumes:
      - ./postman:/etc/newman

./postman - это папка в каталоге E2E.Tests, которая используется в Jenkinsfile следующим образом:

stage ('Run E2E Tests'){     
    stage ('Test API') {
        agent any
        steps {
            dir('E2E.Tests') {
                sh "docker-compose up --force-recreate -d"
                // Wait for the test container to exit and fail build if needed
                sh "docker-compose logs -f newman"
                sh "docker wait newman"
            }
        }
        post { 
            always { 
                dir('E2E.Tests') {
                    sh "docker-compose down"
                    archiveArtifacts artifacts: 'postman/newman/*.html'
                }
            }
        }
    }
}

Сам по себе машина, эта docker -композиция прекрасно работает внутри этой папки. Внутри контейнера newman при запуске Jenkins эта папка /etc/newman ничего не содержит. Кажется, том подключен неправильно.

Есть ли какие-либо конфигурации, которые я пропустил? В нескольких статьях я нашел именно такой подход, но я предполагаю, что они не запускают jenkins внутри контейнера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...