Files
configure_nginx_manager/wiki/Deploy_Actions_Secrets.md
Dmitriy Fofanov 44f7ab1f5c
Синхронизация Wiki / Синхронизация Wiki (push) Successful in 3s
Добавлены новые документы и инструкции по автоматизации SSL сертификатов Let's Encrypt для reg.ru, включая:
- Структура проекта и основные скрипты (PROJECT_STRUCTURE.md)
- Быстрый старт сборки исполняемых файлов (QUICKSTART_BUILD.md)
- Автоматические релизы через GitHub и Gitea (RELEASE_GUIDE.md)
- Подробная инструкция по использованию скриптов (SSL_SCRIPTS_README.md)
- Руководство по тестированию SSL сертификатов (TESTING_GUIDE.md)
- Инструкции по настройке Nginx Proxy Manager с SSL (Настройке Nginx Manager с SSL .md)
- Создание и продление wildcard сертификата в Nginx Proxy Manager (Создание и продление SSL сертификата.md)
2026-02-25 01:42:29 +03:00

3.8 KiB

Deploy через Actions и Secrets

Эта страница описывает деплой через workflow .github/workflows/deploy-service.yml.

Триггеры (когда запускается)

  1. Автоматически по push
  • ветка: master
  • только если изменились файлы:
    • letsencrypt_regru_api.py, letsencrypt_regru*.sh, letsencrypt_regru.ps1
    • requirements.txt
    • systemd/**
    • .github/workflows/deploy-service.yml
  1. Вручную (workflow_dispatch)
  • из UI Actions
  • или через Makefile командой make deploy-service (Makefile делает API dispatch)

Что делает workflow

  • деплоит проект на сервер 192.0.2.1 по SSH (ключ)
  • перед деплоем генерирует config.json из secrets
  • копирует архив на сервер, распаковывает в DEPLOY_PATH
  • перезапускает systemd-сервис DEPLOY_SERVICE

Обязательные secrets

Доступ к репозиторию

  • GIT_TOKEN (или GITEA_TOKEN)

SSH и деплой

  • DEPLOY_HOST — должен быть 192.0.2.1
  • DEPLOY_PORT — обычно 22
  • DEPLOY_USER
  • DEPLOY_SSH_PRIVATE_KEY
  • DEPLOY_PATH
  • DEPLOY_SERVICE

Генерация config.json

  • CFG_REGRU_USERNAME
  • CFG_REGRU_PASSWORD
  • CFG_EMAIL
  • CFG_DOMAINS

CFG_DOMAINS поддерживает два формата:

  1. JSON-массив:
["example.com", "pages.gitea.example.com"]
  1. строка через запятую:
example.com,pages.gitea.example.com

Если CFG_DOMAIN не указан, в поле domain берётся первый домен из CFG_DOMAINS.

Опциональные secrets

  • DEPLOY_SSH_KNOWN_HOSTS
  • CFG_DOMAIN
  • CFG_WILDCARD
  • CFG_CERT_DIR
  • CFG_LOG_FILE
  • CFG_DNS_PROPAGATION_WAIT
  • CFG_DNS_CHECK_ATTEMPTS
  • CFG_DNS_CHECK_INTERVAL
  • CFG_RENEWAL_DAYS
  • CFG_NPM_ENABLED
  • CFG_NPM_HOST
  • CFG_NPM_EMAIL
  • CFG_NPM_PASSWORD

Соответствие полей config.json

  • CFG_REGRU_USERNAMEregru_username
  • CFG_REGRU_PASSWORDregru_password
  • CFG_DOMAIN / первый из CFG_DOMAINSdomain
  • CFG_DOMAINSdomains
  • CFG_WILDCARDwildcard
  • CFG_EMAILemail
  • CFG_CERT_DIRcert_dir
  • CFG_LOG_FILElog_file
  • CFG_DNS_PROPAGATION_WAITdns_propagation_wait
  • CFG_DNS_CHECK_ATTEMPTSdns_check_attempts
  • CFG_DNS_CHECK_INTERVALdns_check_interval
  • CFG_RENEWAL_DAYSrenewal_days
  • CFG_NPM_ENABLEDnpm_enabled
  • CFG_NPM_HOSTnpm_host
  • CFG_NPM_EMAILnpm_email
  • CFG_NPM_PASSWORDnpm_password

Как запустить деплой

  1. Откройте Actions
  2. Запустите workflow Deploy scripts to remote server
  3. При необходимости задайте ref (ветка/тег/коммит)

Запуск через Makefile

Makefile умеет запускать workflow через API на gitea.example.com:

  • make deploy-service — деплой master
  • make deploy-service REF=<branch_or_tag> — деплой указанной ветки/тега

Нужен токен (любой из): DFGIT_TOKEN / GIT_TOKEN / GITEA_TOKEN / GITEA_ACCESS_TOKEN.

Важно: токен для запуска workflow (Makefile) и секреты для выполнения workflow (Actions secrets) — это разные вещи. Workflow внутри всё равно требует GIT_TOKEN (или GITEA_TOKEN) secret, SSH-ключ и остальные secrets из списка выше.

После завершения проверьте статус сервиса на сервере:

sudo systemctl status letsencrypt-regru.service