Termux – это эмулятор терминала для Android, позволяющий использовать Linux-среду прямо на вашем смартфоне. В сочетании с мощным инструментом GitLab CI/CD, Termux открывает возможности для разработки и автоматизации процессов непрерывной интеграции и доставки (CI/CD) в любом месте. В этой статье мы рассмотрим, как настроить пайплайны CI/CD, используя Termux в качестве агента сборки, и GitLab для управления процессом.
Необходимые условия
- Смартфон Android с установленным Termux.
- Аккаунт GitLab.
- Базовые знания Linux и командной строки.
- Git установлен в Termux:
pkg install git - Настроенный SSH-ключ для доступа к GitLab репозиторию.
Подготовка Termux
Первым шагом является настройка Termux для работы с GitLab CI/CD. Установите необходимые пакеты, такие как git, ssh и другие инструменты, требуемые для вашего проекта. Также убедитесь, что у вас есть доступ к GitLab репозиторию через SSH.
pkg update && pkg upgrade
pkg install openssh
Сгенерируйте SSH-ключ, если у вас его еще нет:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Добавьте открытый ключ в настройки вашего GitLab аккаунта (Settings -> SSH Keys).
Создание файла .gitlab-ci.yml
Файл .gitlab-ci.yml определяет пайплайн CI/CD. Он должен находиться в корне вашего репозитория. Пример базового файла .gitlab-ci.yml:
stages:
- build
- test
build_job:
stage: build
script:
- echo "Building the project..."
- # Ваши команды для сборки проекта
- echo "Build complete."
test_job:
stage: test
script:
- echo "Running tests..."
- # Ваши команды для запуска тестов
- echo "Tests complete."
В этом примере определены два этапа: build и test. Каждый этап содержит скрипт, который выполняется. Замените комментарии на фактические команды для сборки и тестирования вашего проекта.
Настройка GitLab CI/CD для Termux
Для использования Termux в качестве агента сборки, необходимо настроить runner GitLab CI/CD. Это можно сделать двумя способами: через GitLab UI или вручную.
Использование GitLab UI
- Перейдите в Settings -> CI/CD вашего проекта в GitLab.
- Выберите "Runners".
- Нажмите "New project runner".
- В качестве платформы выберите "Shell".
- Следуйте инструкциям для получения URL регистрации и токена.
- Подключитесь к Termux через SSH.
- Выполните команду регистрации, предоставленную GitLab UI, в Termux.
Ручная настройка
Вы также можете вручную настроить runner, используя команду gitlab-runner register. Это требует установки gitlab-runner в Termux, что может быть сложно и не рекомендуется для начинающих.
Пример пайплайна для Python проекта
Рассмотрим пример пайплайна для простого Python проекта. Предположим, у вас есть файл app.py и файл requirements.txt с зависимостями.
stages:
- install
- build
- test
install_dependencies:
stage: install
script:
- pip install -r requirements.txt
build_project:
stage: build
script:
- echo "No build step needed for Python." # Или добавьте шаги для сборки, если необходимо
test_project:
stage: test
script:
- python -m unittest discover
Этот пайплайн устанавливает зависимости, а затем запускает тесты с помощью unittest.
Использование VPN для локальной сети
Для повышения безопасности и контроля доступа к вашему GitLab CI/CD runner в Termux, можно использовать VPN для создания локальной сети. Это позволит вам ограничивать доступ к runner только с определенных IP-адресов. Важно помнить, что использование VPN для обхода блокировок запрещено законодательством РФ и не рассматривается в данной статье.
Заключение
Использование Termux и GitLab CI/CD позволяет значительно упростить процессы разработки и автоматизации, предоставляя возможность управлять пайплайнами прямо со смартфона. Это особенно полезно для небольших проектов или для разработчиков, которые часто находятся в пути. Надеемся, эта статья помогла вам настроить CI/CD с Termux.
Если у вас возникли сложности или вам требуется помощь в настройке CI/CD, команда РыбинскЛАБ всегда готова предложить свои услуги. Мы специализируемся на DevOps, автоматизации и разработке программного обеспечения. Свяжитесь с нами, чтобы узнать больше о наших услугах: https://rybinsklab.ru.