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 с использованием GitLab Runner и Docker-контейнеров

Создайте мощный CI/CD пайплайн прямо на своем Android-устройстве с помощью Termux, GitLab Runner и Docker. Пошаговое руководство для автоматизации сборки, тестирования и развертывания вашего кода.

В современном мире разработки программного обеспечения автоматизация является ключевым фактором успеха. CI/CD (Continuous Integration/Continuous Delivery) пайплайны позволяют автоматизировать процессы сборки, тестирования и развертывания, что значительно ускоряет разработку и повышает качество продукта. В этой статье мы рассмотрим, как развернуть собственный CI/CD пайплайн в Termux, используя GitLab Runner и Docker-контейнеры. Termux предоставляет мощную среду для запуска Linux-инструментов на Android-устройстве, что делает его отличным вариантом для создания локального CI/CD сервера.

Необходимые условия

  • Android-устройство с установленным Termux.
  • Аккаунт на GitLab.com или собственном GitLab-сервере.
  • Базовые знания Linux и командной строки.
  • Установленный пакетный менеджер pkg в Termux.

Установка и настройка Termux

Если у вас еще не установлен Termux, скачайте его из F-Droid (https://f-droid.org/en/packages/com.termux/). После установки откройте Termux и обновите пакетные списки:

pkg update && pkg upgrade

Установка Docker в Termux

Установка Docker в Termux требует использования сторонних репозиториев. Выполните следующие команды:

pkg install wget
wget https://github.com/termux/termux-packages/releases/download/v0.102/termux-packages-0.102.apk
pkg install termux-packages-0.102.apk
pkg install docker

После установки Docker, запустите его:

dockerd

Важно! Для стабильной работы Docker может потребоваться настройка виртуальной сети. В некоторых случаях может быть полезно создать VPN-интерфейс (например, используя WireGuard) для организации локальной сети и обеспечения взаимодействия между контейнерами. Использование VPN в данном контексте направлено исключительно на построение локальной сети для тестовой среды и не предназначено для обхода каких-либо блокировок или иных противоправных действий.

Установка GitLab Runner в Termux

GitLab Runner — это инструмент, который выполняет задания CI/CD, определенные в вашем проекте GitLab. Установите его с помощью:

curl -L https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-armv7 -o gitlab-runner
chmod +x gitlab-runner
mv gitlab-runner /usr/local/bin/

Настройка GitLab Runner

Зарегистрируйте GitLab Runner для вашего проекта или группы GitLab. Для этого выполните:

gitlab-runner register

Вам будет предложено ввести URL вашего GitLab-сервера, токен регистрации (можно найти в настройках проекта/группы GitLab в разделе CI/CD -> Runners) и другие параметры. Важно выбрать Docker executor при регистрации.

Настройка .gitlab-ci.yml

Создайте файл .gitlab-ci.yml в корне вашего проекта. Этот файл определяет этапы CI/CD пайплайна. Пример:

stages:
  - build
  - test

build_job:
  stage: build
  image: ubuntu:latest
  script:
    - apt-get update -y
    - apt-get install -y --no-install-recommends some-build-tool
    - echo "Building the application..."
    - # Ваши команды для сборки приложения

test_job:
  stage: test
  image: ubuntu:latest
  script:
    - apt-get update -y
    - apt-get install -y --no-install-recommends some-test-tool
    - echo "Running tests..."
    - # Ваши команды для запуска тестов

В этом примере используются Docker-контейнеры на основе образа Ubuntu для сборки и тестирования приложения.

Запуск CI/CD пайплайна

После добавления файла .gitlab-ci.yml в ваш репозиторий, GitLab автоматически запустит пайплайн при каждом коммите в ветку, указанную в настройках проекта.

Заключение

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

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

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

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

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

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