Как вытащить образы докеров в многоветвевой конвейер Jenkins и развернуть контейнер?

Я пишу Jenkinsfile для создания сборок для многоветвевого конвейера и плагина конвейера докеров/докеров для запуска контейнеров докеров в Jenkins. У меня есть образ, который я хочу использовать для создания контейнеров докеров. Мне нужно вытащить это изображение из определенного URL-адреса, скажем: docker.abc.com, запустить контейнер, а затем выполнить все действия Дженкинса внутри контейнера. В настоящее время я получаю следующую ошибку:

Jenkins does not seem to be running inside a container

Мой код выглядит примерно так:

node {
    try {
        // set working directory
        dir(working directory here){
            stage(main){
                checkout scm
                docker.image("docker.abc.com/def:latest").inside{
                    // do Jenkins stuff
                }
            }
        }
    }
    catch {
        // catch error and send notification
    }
}

person Noob Coder    schedule 04.10.2017    source источник


Ответы (1)


Я решил проблему несколько дней назад. Моя структура кода (я не могу поделиться точным кодом, извините за это):

node {
    try {
        // set working directory
        dir(working directory here){
            stage(main){
                // get docker image
                // defined a docker command here that runs the container, clones git repository inside it and uses makefile to build the project
                // ran the docker command in a shell script
            }
        }
    }
    catch {
        // catch error and send notification
    }
}
person Noob Coder    schedule 06.10.2017