Skip to content

Этот проект предназначен для автоматической миграции репозиториев из Bitbucket в GitLab. Основные функции включают клонирование репозиториев из Bitbucket, создание соответствующих проектов и групп в GitLab.

Notifications You must be signed in to change notification settings

AngeHoffmann/bitbucket2gitlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bitbucket to GitLab Migration Tool

Описание проекта

Этот проект предназначен для автоматической миграции репозиториев из Bitbucket в GitLab. Основные функции включают клонирование репозиториев из Bitbucket, создание соответствующих проектов и групп в GitLab.

Установка

  1. Убедитесь, что у вас установлены Java и Maven.
  2. Склонируйте репозиторий:
    git clone <URL вашего репозитория>
    cd <имя репозитория>
  3. Создайте файл config.properties в src/main/resources и заполните его следующими параметрами:
    bitbucket.username=<Ваш Bitbucket логин>
    bitbucket.password=<Ваш Bitbucket пароль>
    gitlab.url=<URL вашего GitLab>
    gitlab.token=<Токен пользователя в гитлаб>
    gitlab.paths=<Список путей GitLab проектов через запятую>
    bitbucket.urls=<Список URL Bitbucket репозиториев через запятую>

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

Запустите приложение из Main-класса или с помощью следующей команды:

mvn compile exec:java -Dexec.mainClass="org.hoffmann.Main"

Основные классы и их функциональность

Main: Точка входа в приложение. Запускает процесс миграции.
Migrator: Основной класс, содержащий логику миграции репозиториев.

Основные методы и их назначение

Main.main(String[] args): Запускает процесс миграции.
Migrator.migrate(): Основной метод для выполнения миграции.
Migrator.loadConfig(): Загружает конфигурацию из файла config.properties.
Migrator.validateConfig(): Проверяет корректность конфигурации.
Migrator.validateGitlabProjectPath: Проверяет корректность указанных путей в Gitlab.
Migrator.cloneRepositoryFromBitbucket(String bitbucketUrl, String username, String password): Клонирует репозиторий из Bitbucket.
Migrator.createGitLabProject(String gitlabUrl, String gitlabToken, String projectPath): Создает проект в GitLab со всеми необходимыми группами.
Migrator.pushRepositoryToGitLab(Path repoDir, String gitlabRepoUrl, String gitlabToken): Отправляет репозиторий в GitLab.
Migrator.deleteDirectory(File file): Удаляет временную директорию.

Взаимодействие между классами

Main вызывает метод migrate() класса Migrator для выполнения миграции. Migrator использует библиотеки JGit для работы с Git и gitlab4j-api для взаимодействия с GitLab API.

Требования

Java 8 или выше
Maven 3.6.0 или выше
Доступ к Bitbucket и GitLab

Автор

Ange Hoffmann

About

Этот проект предназначен для автоматической миграции репозиториев из Bitbucket в GitLab. Основные функции включают клонирование репозиториев из Bitbucket, создание соответствующих проектов и групп в GitLab.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages