- Улучшена структура и содержание руководства по устранению неполадок API RegRu для большей ясности и согласованности. - Документация по тестированию улучшена за счет подробных инструкций и сравнения методов тестирования. - Улучшено форматирование и читаемость обоих документов. - Обновлена боковая навигация для лучшего доступа к разделам документации.
4.0 KiB
4.0 KiB
Deploy через Actions и Secrets
Эта страница описывает деплой через workflow .github/workflows/deploy-service.yml.
Триггеры (когда запускается)
- Автоматически по push
- ветка:
master - только если изменились файлы:
letsencrypt_regru_api.py,letsencrypt_regru*.sh,letsencrypt_regru.ps1requirements.txtsystemd/**.github/workflows/deploy-service.yml
- Вручную (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.1DEPLOY_PORT— обычно22DEPLOY_USERDEPLOY_SSH_PRIVATE_KEYDEPLOY_PATHDEPLOY_SERVICE
Генерация config.json
CFG_REGRU_USERNAMECFG_REGRU_PASSWORDCFG_EMAILCFG_DOMAINS
CFG_DOMAINS поддерживает два формата:
- JSON массив:
["example.com", "pages.gitea.example.com"]
- строка через запятую:
example.com,pages.gitea.example.com
Если CFG_DOMAIN не указан, в поле domain берётся первый домен из CFG_DOMAINS.
Опциональные secrets
DEPLOY_SSH_KNOWN_HOSTSCFG_DOMAINCFG_WILDCARDCFG_CERT_DIRCFG_LOG_FILECFG_DNS_PROPAGATION_WAITCFG_DNS_CHECK_ATTEMPTSCFG_DNS_CHECK_INTERVALCFG_RENEWAL_DAYSCFG_NPM_ENABLEDCFG_NPM_HOSTCFG_NPM_EMAILCFG_NPM_PASSWORD
Соответствие полей config.json
CFG_REGRU_USERNAME→regru_usernameCFG_REGRU_PASSWORD→regru_passwordCFG_DOMAIN/ первый изCFG_DOMAINS→domainCFG_DOMAINS→domainsCFG_WILDCARD→wildcardCFG_EMAIL→emailCFG_CERT_DIR→cert_dirCFG_LOG_FILE→log_fileCFG_DNS_PROPAGATION_WAIT→dns_propagation_waitCFG_DNS_CHECK_ATTEMPTS→dns_check_attemptsCFG_DNS_CHECK_INTERVAL→dns_check_intervalCFG_RENEWAL_DAYS→renewal_daysCFG_NPM_ENABLED→npm_enabledCFG_NPM_HOST→npm_hostCFG_NPM_EMAIL→npm_emailCFG_NPM_PASSWORD→npm_password
Как запустить деплой
- Откройте Actions
- Запустите workflow
Deploy scripts to remote server - При необходимости задайте
ref(ветка/тег/коммит)
Запуск через Makefile
Makefile умеет запускать workflow через API на gitea.example.com:
make deploy-service— деплойmastermake 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