Создайте файл Jenkins с помощью Docker для приложения Node.js - PullRequest
0 голосов
/ 06 июня 2018

У меня есть приложение Node.js с файлом Docker.Я хочу построить это в Дженкинс.Я также хочу запустить тестовые случаи. Для которых я определил скрипт в файле package.json.Который запускает тестовые случаи и генерирует отчет о покрытии.

Из того, что я понял.Мне нужно

  1. Запустить Jenkins в Docker
  2. Отделение проверки
  3. Создать Docker в Jenkins
  4. Создать мое приложение
  5. Запустите тестовые случаи и сгенерируйте отчеты о покрытии
  6. Развертывание

Я хочу оформить заказ в своем хранилище на github.com.Вот шаги, которые я выполнил

  1. Нажмите новый элемент на главной странице Jenkins
  2. Введенное имя и выбрал список форм конвейера
  3. Под Трубопровод Я выбрал определение как Сценарий конвейера из SCM
  4. Выбор SCM as GIT
  5. Under Хранилище введено URL репозитория с учетными данными
  6. Под Ветки для сборки , введенные веткой как * / my_branch_here
  7. Добавлен путь к сценарию для файла Jenkins

Вот как выглядит мой файл Jenkins

pipeline {
agent {
    docker {
        image 'node:6-alpine' 
        args '-p 3000:3000' 
    }
}
stages {
    stage('initialization') {
        steps {
            script {
                TAG_NAME = '1.1.'+ "${env.BUILD_NUMBER}"
                def clientImage = docker.build("registrypath:5000/test:${TAG_NAME}", "-f ./path_to_dockerfile/Dockerfile .")
            }
        }
    }
}   

}

Iполучить ошибку Docker: команда не найдена.Я не смог выполнить первый шаг, чтобы продолжить.

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Вы можете использовать docker-in-docker для построения ваших изображений в контейнере Docker.

Это не совсем рекомендуется из-за повреждения данных.

Рекомендуется: установить в свой собственный образ, полученный из jenkins / jenkins: lts, ​​двоичный файл для docker и смонтировать / var / lib / docker с вашего компьютера, на котором запущен Jenkins.

Благодаря этому у вас также есть преимущество в том, что ваше изображение кэшируется на вашем компьютере, и вы не должны всегда извлекать изображение из репозитория, потому что перезапущен Jenkins.

Для получения дополнительной информации:

0 голосов
/ 06 февраля 2019

Убедитесь, что Docker установлен на вашем компьютере Jenkins или что сам Jenkins работает в контейнере Docker.

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