В современном мире разработки программного обеспечения автоматизация является ключевым фактором успеха. 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-инфраструктуры или консультации по вопросам информационной безопасности, обращайтесь в РыбинскЛАБ. Мы предоставляем широкий спектр услуг в области разработки программного обеспечения и системного администрирования.