Как скопировать код с сервера Jenkins на его docker агент - PullRequest
0 голосов
/ 14 июля 2020

У меня есть сервер Jenkins, я планирую использовать его для CI для кроссплатформенного проекта C ++. Чтобы упростить процесс, у меня есть два изображения docker, одно строит проект для android NDK, а другое строит для Ubuntu. Например, я использую файл Jenkins, как показано ниже, для android build:

pipeline {
    agent {
        docker { 
            image 'image4android:latest'
        }
    }
    stages {
        stage('Build') {
            steps {
                sh 'cd /path/to/project && cmake --build .' 
            }
        }
    }
}

Я хочу запустить линтинг и форматирование на главном сервере Jenkins, поскольку это одинаково для всех платформ. Затем мне нужно скопировать линированный / отформатированный код в каждый контейнер для сборки. Как я могу использовать такие вещи, как docker cp на мастере Jenkins, чтобы скопировать код проекта в контейнер android / ubuntu?

1 Ответ

0 голосов
/ 16 июля 2020

Вы можете установить тома в Jenkins -> Управление jenkins -> Управление узлами и облаками -> Настроить облака -> Docker Шаблоны агентов -> (Добавить новый шаблон или использовать существующий) -> Настройки контейнера -> Тома

Также вы можете использовать глобальные переменные jenkins - WORKSPACE. Не уверен, будет ли Дженкинс использовать переменные в настройках контейнера.

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