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

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

Termux + GitLab CI/CD: Настройка пайплайнов непрерывной интеграции и доставки прямо на смартфоне

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

  1. Перейдите в Settings -> CI/CD вашего проекта в GitLab.
  2. Выберите "Runners".
  3. Нажмите "New project runner".
  4. В качестве платформы выберите "Shell".
  5. Следуйте инструкциям для получения URL регистрации и токена.
  6. Подключитесь к Termux через SSH.
  7. Выполните команду регистрации, предоставленную 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.

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

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

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

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