We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

CI/CD в Termux: Построение пайплайна с Jenkins, Docker и GitLab Runner

Узнайте, как настроить полноценный CI/CD пайплайн прямо в Termux с использованием Jenkins, Docker и GitLab Runner. Инструкция от экспертов РыбинскЛАБ.

Приветствую вас, коллеги! Денис Усачёв, ведущий эксперт РыбинскЛАБ, рад поделиться с вами информацией о том, как создать полноценную систему Continuous Integration/Continuous Delivery (CI/CD) прямо на вашем Android-устройстве с помощью Termux. Это отличный способ автоматизировать процесс разработки и развертывания приложений, особенно когда нет возможности использовать полноценный сервер.

Что нам потребуется?

Для реализации данного проекта нам понадобятся следующие компоненты:

  • Termux: Терминальная оболочка для Android, предоставляющая Unix-подобную среду.
  • Jenkins: Популярный сервер автоматизации, который будет управлять нашим пайплайном.
  • Docker: Платформа для контейнеризации приложений, обеспечивающая их переносимость и изолированность.
  • GitLab Runner: Эージェント, выполняющий задачи CI/CD, управляемый GitLab.
  • GitLab: Система контроля версий, где будет храниться исходный код вашего проекта.

Подготовка Termux

Сначала необходимо установить и настроить Termux. Откройте Termux и выполните следующие команды:

pkg update && pkg upgrade
pkg install git docker jenkins

Убедитесь, что у вас установлен Docker и Jenkins успешно. Также рекомендуется настроить Termux для использования графического интерфейса (X11), если вам это необходимо для работы с некоторыми плагинами Jenkins. Для этого установите x11-repo и настройте DISPLAY переменную окружения.

Настройка Jenkins

После установки Jenkins, необходимо его настроить. Основные шаги:

  1. Запуск Jenkins: Выполните команду java -jar jenkins-2.344.3.jar --httpPort=8080 (или аналогичную версию). Вы можете использовать более свежую версию, доступную на официальном сайте Jenkins.
  2. Доступ к Jenkins: Откройте веб-браузер на вашем устройстве и перейдите по адресу http://localhost:8080.
  3. Установка плагинов: В интерфейсе Jenkins установите необходимые плагины: Git Plugin, Docker Pipeline Plugin, GitLab Plugin.

Настройка GitLab

Создайте репозиторий в GitLab для вашего проекта. Получите URL репозитория. Настройте GitLab Runner:

wget https://gitlab-runner.com/install/linux-android.sh
chmod +x linux-android.sh
./linux-android.sh --url https://gitlab.com/ --registration --executor docker

Вам будет предложено ввести URL вашего GitLab instance и другие параметры. После завершения установки, вы получите token, который необходимо будет указать при настройке GitLab Runner в Jenkins.

Создание Jenkins Pipeline

Создайте новый Jenkins Pipeline job. Выберите источник кода GitLab и укажите URL вашего репозитория. Настройте pipeline, используя Jenkins Pipeline DSL (Groovy). Пример простого pipeline:

pipeline {
  agent { docker { image 'docker:latest' } }
  stages {
    stage('Build') {
      steps {
        sh 'mvn clean install' // Пример сборки Maven проекта
      }
    }
    stage('Test') {
      steps {
        sh 'mvn test' // Пример запуска тестов Maven проекта
      }
    }
    stage('Deploy') {
      steps {
        sh 'docker build -t my-app .'
        sh 'docker push my-app'
      }
    }
  }

Этот pipeline демонстрирует базовый процесс сборки, тестирования и развертывания приложения. Вы можете адаптировать его под свои нужды.

Запуск Pipeline

После создания pipeline, запустите его вручную, чтобы проверить его работоспособность. Jenkins выполнит необходимые шаги, используя Docker контейнер для сборки и тестирования вашего приложения.

Заключение

Таким образом, мы успешно настроили полноценный CI/CD пайплайн в Termux с использованием Jenkins, Docker и GitLab Runner. Этот подход позволяет автоматизировать процесс разработки и развертывания приложений, даже если нет доступа к полноценному серверу. Несмотря на некоторые ограничения, такая конфигурация может быть очень полезной для разработки и тестирования небольших проектов.

Если вам нужна помощь в настройке CI/CD, оптимизации пайплайнов или автоматизации других задач, обращайтесь в РыбинскЛАБ! Мы предлагаем широкий спектр услуг в области разработки программного обеспечения и DevOps. Наши эксперты помогут вам создать надежные и эффективные решения для вашего бизнеса.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен и доработан перед публикацией.

Нужна помощь с настройкой Termux, Linux и серверов?

Я оказываю ИТ-услуги: настройка серверов, автоматизация, безопасность, помощь с Linux и инфраструктурой. Материалы сайта — только в ознакомительных и образовательных целях.

Связаться со мной
Поддержать проект