使用 Java 将文件推送到现有的 GitLab 存储库?
Pushing a file to existing GitLab repo using Java?
我想知道是否有办法使用 java 将文件推送到 GitLab 上的现有存储库。
假设,我的 java 源代码生成了一个输出文件(比如像 config.xml 或 gitlab-ci.yml 这样的配置文件)。我只想将此文件推送到 GitLab 上的远程存储库。这可能吗?我想使用 JGit 是解决方案。但是,我不知道如何使用它,在不创建新回购的情况下推送到现有回购。
旁注:为了阐明我的问题,我面临的情况是,我有一个生成 yaml 文件的代码,该文件将用于配置运行另一个源代码的 GitLab CI。
提前致谢。
好吧,我可以看到两种解决此问题的方法。
1) 使用简单的 ProcessBuilder
并执行 shell 命令,将给定文件添加并推送到存储库。它将在文件夹内执行,这意味着它将在项目的本地存储库的范围内。
2) 使用 JGit,为此您需要正确设置存储库路径:
Repository existingRepo = new FileRepositoryBuilder()
.setGitDir(new File("[Your project path]"))
.build();
然后您可以使用 Porcelain API 添加和推送您需要的文件。
您唯一需要考虑的是,使用 Jgit
.
提供凭据应该更容易一些。
我想知道是否有办法使用 java 将文件推送到 GitLab 上的现有存储库。
假设,我的 java 源代码生成了一个输出文件(比如像 config.xml 或 gitlab-ci.yml 这样的配置文件)。我只想将此文件推送到 GitLab 上的远程存储库。这可能吗?我想使用 JGit 是解决方案。但是,我不知道如何使用它,在不创建新回购的情况下推送到现有回购。
旁注:为了阐明我的问题,我面临的情况是,我有一个生成 yaml 文件的代码,该文件将用于配置运行另一个源代码的 GitLab CI。
提前致谢。
好吧,我可以看到两种解决此问题的方法。
1) 使用简单的 ProcessBuilder
并执行 shell 命令,将给定文件添加并推送到存储库。它将在文件夹内执行,这意味着它将在项目的本地存储库的范围内。
2) 使用 JGit,为此您需要正确设置存储库路径:
Repository existingRepo = new FileRepositoryBuilder()
.setGitDir(new File("[Your project path]"))
.build();
然后您可以使用 Porcelain API 添加和推送您需要的文件。
您唯一需要考虑的是,使用 Jgit
.