giteascripts/other_info.md

100 lines
No EOL
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Дополнительная информация:
# Дополнительная информация:
Установить пользовательские скрипты в Forgejo можно через репозиторий Pub Packages. Это позволяет добавлять скрипты и пакеты, которые будут выполняться в экземпляре Forgejo.
## Шаги для установки скриптов
- Зарегистрировать репозиторий. Для этого нужно выполнить команду dart pub token add и указать URL-адрес экземпляра Forgejo.
- Опубликовать пакет. В файле pubspec.yaml необходимо добавить строку publish_to: https://forgejo.example.com/api/packages/{owner}/pub.
- Опубликовать пакет. Выполнить команду dart pub publish.
- Установить пакет. Использовать команду dart pub add {package_name} --hosted-url=https://forgejo.example.com/api/packages/{owner}/pub/.
Если пакет с таким же названием и версией уже существует, перед публикацией нужно удалить его.
После установки пользовательские скрипты и пакеты будут доступны для запуска в экземпляре Forgejo через команду forgejo forgejo-cli actions run.
# Else
Для интеграции пользовательских скриптов в 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