diff --git a/other_info.md b/other_info.md new file mode 100644 index 0000000..fd84249 --- /dev/null +++ b/other_info.md @@ -0,0 +1,88 @@ +# Дополнительная информация: + +Для интеграции пользовательских скриптов в Forgejo необходимо выполнить несколько шагов, включая настройку конфигурационных файлов, использование встроенных механизмов автоматизации и интеграцию с внешними сервисами. Вот основные методы: +1. Настройка через конфигурационный файл app.ini +Forgejo позволяет настраивать поведение через файл app.ini, расположенный по умолчанию в /etc/forgejo/app.ini. Для добавления пользовательских скриптов можно использовать следующие секции: +Резервное копирование: +[backup] +ENABLED = true +DESTINATION = s3://your-bucket/path +S3_ACCESS_KEY = YOUR_ACCESS_KEY +S3_SECRET_KEY = YOUR_SECRET_KEY +Это активирует автоматическое резервное копирование репозиториев в S3-совместимое хранилище. +blog.gibson.sh +blogops.mixinet.net +Настройка SMTP для уведомлений: +[mailer] +ENABLED = true +PROTOCOL = smtp +HOST = smtp.example.com +PORT = 587 +USER = your_email@example.com +PASSWD = your_password +Позволяет отправлять уведомления о событиях (например, пул-реквесты). +forgejo.org +blog.gibson.sh +2. Использование действий (Actions) +Forgejo поддерживает автоматизацию через систему действий, которая позволяет запускать скрипты при определенных событиях (например, коммитах, тегах). Для этого: +Создайте файл .forgejo/actions.yml в корне репозитория: +name: Build and Deploy +on: + push: + branches: + - main +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Run Build Script + run: ./build.sh +Это пример скрипта для сборки проекта при пуше в ветку main. + +blogops.mixinet.net +netdevops.blog +Зарегистрируйте бегун (runner): +forgejo actions register --name "My Runner" --secret "your_secret" +Бегун должен быть установлен на сервере с доступом к необходимым ресурсам. +blogops.mixinet.net +3. Интеграция с внешними скриптами через API +Forgejo предоставляет REST API для управления репозиториями и событиями. Примеры использования: +Создание вебхука: +curl -X POST \ + -H "Authorization: token YOUR_ACCESS_TOKEN" \ + https://your-forgejo.com/api/v1/repos/owner/repo/hooks \ + -d '{ + "url": "https://your-script.com/webhook", + "events": ["push", "pull_request"] + }' +Это позволит вызывать внешний скрипт при событиях в репозитории. +netdevops.blog +lupyuen.github.io +Запуск скрипта через CLI: +forgejo repo clone git@your-forgejo.com:owner/repo /path/to/local/repo +cd /path/to/local/repo +./your_script.sh +4. Настройка пользовательских модулей +Для расширенной интеграции (например, кастомные шаблоны интерфейса) можно использовать: +Плагины: Forgejo поддерживает интеграцию с внешними модулями через API. +Кэширование: Настройка кэша через app.ini: +[cache] +ENABLED = true +CACHE_DIR = /var/cache/forgejo + +blogops.mixinet.net +5. Пример скрипта для резервного копирования +Создайте файл /etc/forgejo/backup.sh: +#!/bin/bash + +# Резервное копирование репозиториев в S3 +forgejo backup --destination s3://your-bucket/forgejo --include-lfs +Добавьте задачу в crontab: +0 0 * * * /etc/forgejo/backup.sh > /var/log/forgejo/backup.log 2>&1 +Итог +Установка пользовательских скриптов в Forgejo сводится к: +Настройке конфигурационных файлов (app.ini, actions.yml). +Использованию встроенных механизмов автоматизации (actions, вебхуки). +Интеграции с внешними сервисами через API или CLI. +Для сложных сценариев (например, CI/CD) рекомендуется использовать бегун (runner) и систему оркестрации, такую как Docker \ No newline at end of file