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 для управления GitLab CI/CD, запускать пайплайны и автоматизировать DevOps процессы прямо с мобильного устройства.

Termux – это мощный терминал для Android, позволяющий запускать полноценные Linux‑утилиты прямо на смартфоне. Благодаря возможности установки пакетов из репозиториев apt, в Termux можно развернуть полноценный рабочий процесс DevOps, включая взаимодействие с GitLab CI/CD.

Что понадобится

  • Устройство под управлением Android (версии 7.0 и выше).
  • Приложение Termux из Google Play или F-Droid.
  • Учётная запись в GitLab с правами запуска пайплайнов.
  • SSH‑ключи или персональный токен доступа.

Установка Termux и базовых компонентов

# Обновляем репозитории
apt update && apt upgrade -y

# Устанавливаем необходимые пакеты
apt install -y git curl openssh wget python

Настройка Git и аутентификации

Для доступа к репозиториям GitLab рекомендуется использовать SSH‑ключи. Создадим ключ без пароля, чтобы автоматизировать процесс.

# Генерация SSH‑ключа
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519 -N ""

# Добавляем публичный ключ в профиль GitLab
cat ~/.ssh/id_ed25519.pub

Скопированный публичный ключ вставьте в Settings → SSH Keys вашего профиля GitLab.

Установка GitLab CLI (glab)

CLI glab упрощает работу с GitLab из терминала: создание MR, запуск пайплайнов, просмотр статуса и т.д.

# Устанавливаем glab через Go
apt install -y golang
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

go install github.com/profclems/glab@latest

# Проверяем установку
glab --version

Аутентификация glab

Для первого входа используйте персональный токен доступа с правами api и write_repository.

glab auth login
# Выберите GitLab.com или self‑hosted
# Вставьте токен, полученный в Settings → Access Tokens

Запуск пайплайна из Termux

После настройки можно запускать любой пайплайн, указав проект и ветку.

# Запуск пайплайна для ветки feature/mobile
glab pipeline run --branch feature/mobile

# Просмотр статуса последнего пайплайна
glab pipeline status

Автоматизация через скрипт

Создадим небольшую оболочку, которая будет запускать пайплайн и отправлять уведомление в Telegram.

#!/data/data/com.termux/files/usr/bin/bash

PROJECT_ID="123456"
BRANCH="feature/mobile"
TELEGRAM_CHAT_ID="-1001234567890"
TELEGRAM_BOT_TOKEN="123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"

# Запуск пайплайна
glab pipeline run --project $PROJECT_ID --branch $BRANCH
PIPELINE_ID=$(glab pipeline list --project $PROJECT_ID --branch $BRANCH --limit 1 --json id -t '{{.ID}}')

# Ожидание завершения
while true; do
    STATUS=$(glab pipeline view $PIPELINE_ID --project $PROJECT_ID --json status -t '{{.Status}}')
    if [[ "$STATUS" == "success" || "$STATUS" == "failed" ]]; then
        break
    fi
    sleep 10
done

# Уведомление в Telegram
MESSAGE="Pipeline $PIPELINE_ID for branch $BRANCH finished with status: $STATUS"
curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
    -d chat_id=$TELEGRAM_CHAT_ID -d text="$MESSAGE"

Сохраните файл как run_pipeline.sh, сделайте исполняемым (chmod +x run_pipeline.sh) и запускайте в любое время.

Безопасность и лучшие практики

  • Храните SSH‑ключи и токены в ~/.config/termux/termux.properties с ограниченными правами доступа.
  • Регулярно обновляйте пакеты Termux (apt update && apt upgrade).
  • Для критически важных операций используйте двухфакторную аутентификацию в GitLab.

Заключение

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

Если вам нужен профессиональный аудит CI/CD, настройка инфраструктуры или обучение сотрудников, команда RybinskLab готова предложить индивидуальные решения под ваш бизнес. Мы поможем автоматизировать процессы, повысить надёжность и ускорить выпуск продукта.

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

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

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

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