Как получить каталог сборки из контейнера Docker через Jenkins? - PullRequest
1 голос
/ 01 апреля 2020

У меня есть конвейер Jenkins, который выглядит следующим образом:

pipeline {
    agent {
        docker {
            image 'node:12-alpine'
            args '-p 3000:3000'
        }
    }
    environment {
        CI = 'true' 
    }
    stages {
        stage('Build') {
            steps {
                sh '''
            cd client
            npm install
        '''
            }
        }
        stage('Test') { 
            steps {
                sh '''
            node --version
            cd client
            ../jenkins/scripts/test.sh
        '''
            }
        }
    stage('Deliver') {
        steps {
            sh '''
                cd client
                ../jenkins/scripts/deliver.sh
            '''
        }
    }
    stage('Release') {
        steps {
            // get the build out of docker 
        }
    }
    }
}

delivery. sh выполняет npm build и создает каталог сборки, который находится в /var/jenkins_home/workspace/organizer/client в контейнере Docker. Я могу получить доступ к контейнеру Docker и попасть туда через sudo docker exec -it jenkins-tutorial bash вручную, однако я хотел бы сделать все это на этапе выпуска файла конвейера. Делает ли сценарий оболочки для этого в конвейере, как вы обычно получаете сборку из контейнера?

1 Ответ

0 голосов
/ 02 апреля 2020

Вы можете смонтировать каталог клиента во внешний каталог на вашем хост-компьютере, передав -v args вашему агенту. например: -v ./ClientFiles:/var/jenkins_home/workspace/organizer/client. (см. крепления )

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