Передача файла в существующее хранилище GitLab с использованием Java? - PullRequest
0 голосов
/ 04 февраля 2020

Я хотел бы знать, есть ли способ создать sh файл, используя java, в существующий репозиторий на GitLab.

Предположим, мой исходный код java создает выходной файл (скажем, файл конфигурации, например config. xml или gitlab-ci.yml). Я хочу положить sh только этот файл в удаленный репозиторий на GitLab. Это возможно? Я думаю, что использование J Git является решением. Но я понятия не имею, как его использовать, чтобы выложить sh в существующее репо без создания нового репо.

Примечание: Чтобы прояснить мой вопрос, передо мной стоит сценарий: у меня есть код, который генерирует файл yaml, который будет использоваться для настройки GitLab CI, который запускает другой исходный код.

Заранее спасибо.

1 Ответ

1 голос
/ 04 февраля 2020

Ну, я вижу два пути решения этой проблемы.

1) Использование простых ProcessBuilder и выполнение команд оболочки, которые добавят и поместят указанный файл в репозиторий. Он будет выполнен внутри папки, что означает, что он будет находиться в области действия локального репозитория проекта.

2) Использование J Git, для этого вам потребуется установить репозиторий. Путь правильно:

Repository existingRepo = new FileRepositoryBuilder()
    .setGitDir(new File("[Your project path]"))
    .build();

Затем Вы можете использовать Porcelain API для добавления и pu sh нужного Вам файла.

Единственное, что Вам нужно учитывать, это то, что он должен немного проще предоставить учетные данные, используя Jgit.

...