Введение
Kooder — это проект с открытым исходным кодом для поиска кода, предлагающий услуги поиска по коду, репозиториям и проблемам для платформ хостинга кода, включая Gitee, GitLab и Gitea.
UI
На рисунке показан скриншот Kooder.
Есть два модуля: gateway и indexer. Gateway интегрирован внутри gateway в соответствии с конфигурацией по умолчанию.
Gateway:
Indexer:
Модули
Логический поток
Поток Kooder показан на рисунке.
Установка исходного кода
$ 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-compose выполните следующую команду:
### Запуск контейнеров в фоновом режиме
docker-compose up -d
### Остановка и удаление контейнеров
docker-compose down
### Запуск контейнеров в фоновом режиме
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
Администрирование сайта.
Добавление вебхука Gitea.
Настройка вебхука:
http://kooder-ip:kooder-port/gitea
;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 )