1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/satrong-tagup

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Tagup

Tagup — это простой инструмент Webhook, который позволяет автоматически обновлять (клонировать) код с помощью добавления тегов. Простая настройка обеспечивает быстрый запуск. Поддерживает GitHub, GitLab, Gitee, Gogs, Gitea.

Установка

Сначала убедитесь, что установлены Node.js и Git.

Глобальная установка:

npm i tagup -g

В качестве зависимости пакета:

npm i tagup

Использование в командной строке

tagup [command] [options]

Например:

tagup start -d /home/foo -p 8000

Доступный список параметров можно просмотреть с помощью tagup -h.

Доступные команды

  -v, --version           显示版本
  start [options]         启动tagup服务
  stop <id>               停止tagup
  list                    查看正在运行的tagup服务列表
  help [start|stop|list]  显示命令可用参数

Параметры команды start

tagup start -h:

  -f, --file <type>      通过配置文件启动服务,通过require获取文件内容(支持json、js)
  -i, --id <type>        启动服务的唯一标识,默认自动生成
  -d, --dir <type>       仓库所在的根目录(绝对路径)(必填项)
  -p, --port <type>      启动服务的端口,默认自动选择
  -s, --secret <type>    Webhook中设置的秘钥
  -U, --username <type>  git登录用户名(通过http克隆代码)
  -P, --password <type>  git登录密码(通过http克隆代码)
  -pa, --path <type>     URL的路径,默认:/webhook
  -c, --cmd <type>       获取代码并切换到对应的标签后执行的命令
  -D, --daemon           开启常驻进程和守护进цесс
  -h, --help             显示可用命令

Ссылка на API

После установки tagup через NPM его можно использовать в коде следующим образом:

const tagup = require('tagup');

// Или в TypeScript:
// import tagup from 'tagup';

const options = {
  dir: '/home/foo',
  port: 8000
};

tagup(options);

Параметр options

  • dir: каталог, где хранится репозиторий, должен быть абсолютным путём. Обязательный параметр.
  • port: порт для запуска сервиса, по умолчанию выбирается автоматически.
  • secret: ключ в Webhook.
  • username: имя пользователя git (через http клон кода).
  • password: пароль git (через http клон кода).
  • path: путь URL, по умолчанию: /webhook.
  • cmd: команда, которая выполняется после получения кода и перехода на соответствующую метку.

Настройка и использование

Пример использования с GitHub:

  • Запустите сервис на сервере: tagup -d /home/foo -p 8000 -s 123456.
  • Конфигурация GitHub:
    1. Перейдите в настройки проекта GitHub — Webhooks — Add webhook.
    2. Введите http(s)://ip:8000/webhook в поле Payload URL (где ip — адрес сервера, на котором запущен сервис, если используется прокси, введите адрес прокси). Убедитесь, что путь URL равен /webhook.
    3. Введите 123456 в поле Secret.
    4. Отметьте «Branch or tag creation» в пользовательских событиях (убедитесь, что есть событие Tag push).
    5. Установите флажок Active.
    6. Нажмите Add webhook для сохранения.
  • Конфигурация, связанная с Git, на стороне сервера:
    1. Убедитесь, что у каталога, где находится репозиторий (dir), есть права на запись.
    2. Убедитесь, что на сервере установлен Git, а если используется ssh для извлечения кода, также убедитесь, что установлен OpenSSH.
    3. Если используется ssh для получения кода, убедитесь, что настроен SSH key (после настройки рекомендуется попробовать выполнить git clone [url]).
    4. Если используется http для получения кода, то при запуске сервиса должны быть настроены параметры username и password.
    5. Если параметры username и password не настроены, будет выполнена команда git clone url.

Примечания

  1. При использовании параметров username и password код будет получен через http или https, и эти данные будут включены в URL. Кроме того, в файле .git/config клонированного проекта можно увидеть учётные данные.
  2. Формат добавляемых меток должен быть v1.0, v1.2.3 или v1.2.3.4.
  3. tagup проверяет наличие файла package.json в проекте. Если он существует и есть неустановленные зависимости, будет выполнена команда npm install. Затем будет выполнена команда из параметра cmd (если параметр cmd отсутствует, tagup проверит наличие команды restart в scripts в package.json и выполнит её, если она есть).

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/satrong-tagup.git
git@api.gitlife.ru:oschina-mirror/satrong-tagup.git
oschina-mirror
satrong-tagup
satrong-tagup
master