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

OSCHINA-MIRROR/koode-kooder

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

Введение

Kooder — это проект с открытым исходным кодом для поиска кода, предлагающий услуги поиска по коду, репозиториям и проблемам для платформ хостинга кода, включая Gitee, GitLab и Gitea.

UI

На рисунке показан скриншот Kooder.

Есть два модуля: gateway и indexer. Gateway интегрирован внутри gateway в соответствии с конфигурацией по умолчанию.

Gateway:

  • принимает задачи индексации из HTTP-запросов и помещает их в очередь после проверки;
  • принимает поисковые запросы и возвращает результаты клиенту.

Indexer:

  • отслеживает задачи индексации в очереди;
  • обновляет эти задачи добавления, удаления и обновления обратно в индексную библиотеку.

Модули

  • core — основной объект и публичный класс;
  • gateway — принимает запросы на индексацию и поиск от HTTP-запросов;
  • indexer — сервис для создания, обновления и удаления индекса.

Логический поток

Поток Kooder показан на рисунке.

Установка исходного кода

  1. Зависимости:
    • openjdk >= 8;
    • maven > 3.
  2. Скачивание исходного кода:
$ git clone https://gitee.com/koode/kooder.git
$ cd kooder

Конфигурация

Файл конфигурации: kooder.properties.

Конфигурирует URL Kooder http.url. Он будет внедрён в Git-сервис как URL вебхука, должен быть доступен для Git-сервиса, например:

http.url = http://<kooder-host>:8080

Подробнее о параметрах конфигурации см. в configuration.md.

Установка Docker

Развёртывание одного контейнера

Зависимости:

  • среда docker-ce;
  • docker-compose.

После клонирования этого репозитория на машине с установленным docker-compose выполните следующую команду:

### Запуск контейнеров в фоновом режиме
docker-compose up -d

### Остановка и удаление контейнеров
docker-compose down

HA-развёртывание

### Запуск контейнеров в фоновом режиме
docker-compose -f docker-compose-ha.yaml up -d

### Остановка и удаление контейнеров
docker-compose -f docker-compose-ha.yaml down

Это будет выглядеть так:

После изменения файла конфигурации core/src/main/resources/kooder.properties выполните следующие команды; удалите локальный образ kooder и перестройте его.

docker-compose down
docker-compose up -d 

Просмотрите статус запуска службы:

docker logs -f CONTAINER_ID
......
2021-04-07 13:28:49 INFO [gateway] - Tasks [indexer,gitee] started.
2021-04-07 13:28:49 INFO [gateway] - READY (*:8080)!
.......

Вывод журнала, как указано выше, указывает на успешный запуск.

Примечание

Каждый запуск будет выполнять mvn install, чтобы гарантировать, что файл конфигурации вступил в силу.

Использование в Gitlab

Конфигурация следующих свойств:

http.startup.tasks = indexer,gitlab
gitlab.url = http://gitlab-host:gitlab-port/  
gitlab.personal_access_token = <root user personal access token>  
git.username = root  
git.password =  

Kooder будет использовать токен доступа в качестве пароля, если вы его не предоставите.

Использование в Gitee

Конфигурация следующих свойств:

http.startup.tasks = indexer,gitee
gitee.url = https://gitee.com/  
gitee.personal_access_token = <root user personal access token>  
git.username = root  
git.password =  

Kooder будет использовать токен доступа в качестве пароля, если вы его не предоставите.

Использование в Gitea

  1. Администрирование сайта.

  2. Добавление вебхука Gitea.

  3. Настройка вебхука:

  • установите целевой URL на http://kooder-ip:kooder-port/gitea;
  • установите тип содержимого POST на POST + application/json;
  • отметьте «Все события» или «Пользовательские события» для опции «Запуск при». (Если вы выберете «Пользовательские события», вам нужно отметить «Репо», «Толчок» и «Проблема»).

Конфигурация следующих свойств.

http.startup.tasks = indexer,gitea
gitea.secret_token = <секретный токен вебхука>
gitea.url = http://gitea-ip:prot/
gitea.personal_access_token = <личный токен администратора>
git.username = <имя пользователя администратора>
git.password = <пароль администратора>

Индексация репозиториев из файла

В настоящее время Kooder поддерживает индексацию репозиториев для одной и той же платформы хостинга. Если вам необходимо проиндексировать несколько платформ хостинга, ... Можно выполнить раздельный импорт.

Конфиг kooder.properties:

//Включить индекс репозитория из файла
http.startup.tasks = indexer,file  //Добавить поле file
file.index.path = C:/Documents/Kooder/file.txt   //Путь к файлу file.txt
file.index.vender = gitee //Указать соответствующую платформу хостинга кода

Содержимое файла file.txt:

// Добавить URL-адрес репозитория платформы хостинга, указанной в конфигурации
http://gitee.com/koode/kooder.git
https://gitee.com/ld/J2Cache.git
...

Сборка и запуск:

$ cd Kooder
$ mvn install
### Запуск шлюза
$ bin/gateway.sh
### Браузер посещает http://localhost:8080

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

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

Введение

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

Обновления

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

Участники

все

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

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