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

Приветствую, разработчики! В мире DevOps автоматизация процессов разработки, тестирования и развертывания (CI/CD) становится все более важной. В этой статье мы рассмотрим, как создать полностью автономный CI/CD пайплайн прямо в Termux, используя GitLab Runner. Это позволит вам автоматизировать сборку, тестирование и даже развертывание ваших проектов, не прибегая к внешним серверам.

Что такое CI/CD и зачем он нужен?

CI (Continuous Integration) – это практика интеграции кода от разных разработчиков в общее хранилище часто, обычно несколько раз в день. CD (Continuous Delivery/Deployment) – это автоматизация процессов доставки и развертывания программного обеспечения. Вместе, CI/CD позволяет быстрее выпускать обновления, сократить количество ошибок и повысить качество кода.

Необходимые компоненты

  • Termux: Эмулятор терминала для Android, который предоставляет среду Linux.
  • GitLab: Платформа для управления версиями и CI/CD.
  • GitLab Runner: Агент, который выполняет задания CI/CD, определенные в GitLab.
  • Git: Система контроля версий.

Настройка Termux

  1. Установка Termux: Скачайте и установите Termux из F-Droid (рекомендуется) или Google Play Store.
  2. Обновление Termux: Запустите Termux и выполните команду pkg update && pkg upgrade.
  3. Установка необходимых пакетов: Выполните команду pkg install git openssh.

Настройка GitLab

  1. Создание проекта на GitLab: Создайте новый проект на GitLab.
  2. Включить CI/CD: Перейдите в раздел "CI/CD" вашего проекта и включите его.
  3. Создание .gitlab-ci.yml: В корне вашего проекта создайте файл .gitlab-ci.yml. Этот файл описывает пайплайн CI/CD. Пример файла .gitlab-ci.yml для Termux:
stages:
  - build
  - test

build:
  stage: build
  script:
    - echo "Building the project..."
    - # Здесь добавьте команды сборки вашего проекта (например, make, npm install, python setup.py build)
  artifacts:
    paths:
      - build/

test:
  stage: test
  script:
    - echo "Running tests..."
    - # Здесь добавьте команды запуска тестов (например, pytest, npm test)
  dependencies:
    - build

Настройка GitLab Runner в Termux

  1. Получение SSH ключа: На вашем компьютере (где настроен GitLab) сгенерируйте SSH ключ (если его еще нет). Если ключ уже существует, пропустите этот шаг. Используйте команду ssh-keygen -t rsa -b 4096.
  2. Добавление публичного ключа в GitLab: Добавьте публичный ключ (обычно находится в файле ~/.ssh/id_rsa.pub) в настройки пользователя GitLab.
  3. Получение SSH публичного ключа в Termux: В Termux выполните команду ssh-keygen -t rsa. Сохраните ключ в безопасном месте.
  4. Добавление SSH ключа в GitLab Runner: В GitLab перейдите в "Settings" -> "CI/CD" -> "Runners". Добавьте нового Runner'а и укажите IP-адрес вашего Termux устройства и приватный ключ SSH (который вы сгенерировали). Важно: необходимо указать порт SSH, который Termux слушает (по умолчанию 22).
  5. Запуск GitLab Runner: В Termux выполните команду gitlab-runner run.

Тестирование пайплайна

Сохраните файл .gitlab-ci.yml в корне вашего проекта и инициализируйте репозиторий на GitLab. GitLab автоматически запустит пайплайн и выполнит задания, определенные в файле .gitlab-ci.yml. Вы можете отслеживать ход выполнения пайплайна в разделе "CI/CD" вашего проекта на GitLab.

Заключение

Мы показали, как настроить полностью автономный CI/CD пайплайн в Termux с использованием GitLab Runner. Этот подход позволяет автоматизировать процессы разработки и развертывания, не требуя внешних серверов. Это особенно полезно для разработчиков, работающих с мобильных устройств или которым требуется изолированная среда разработки.

РыбинскЛАБ предлагает широкий спектр услуг в области разработки программного обеспечения, DevOps и облачных технологий. Мы поможем вам автоматизировать ваши процессы, оптимизировать инфраструктуру и повысить эффективность работы вашей команды. Обратитесь к нам, чтобы узнать больше: [ссылка на ваш сайт].

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

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

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

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