搜索

42.5. 集成远程 Git 存储库

download PDF

在以下示例中,您可以使用 post-commit Git hook 和 Java 代码将 Business Central 与远程 Git 存储库集成。有关 Java 代码示例,请参阅 Business Central post-commit Git Hooks Integration。这个示例提供以下功能:

  • 自动生成模板 .gitremote 配置文件
  • 对所需参数验证 .gitremote 配置文件
  • Git 会忽略 .gitremote 文件的 ignore 参数中定义的模式
  • 用户的信息和通知输出
  • 支持 GitLab 和 GitHub 令牌身份验证
  • 支持 GitLab 组和子组项目创建
  • 支持 GitHub 机构存储库创建

先决条件

  • Red Hat Process Automation Manager 安装在 Red Hat JBoss EAP 7.4 服务器实例中。
  • 已安装 Java Development Kit(JDK)8。
  • 已安装 Maven。

流程

  1. 在终端窗口中,将 GitHub 存储库克隆到您的系统:

    $ git clone https://github.com/kiegroup/bc-git-integration-push.git
  2. 进入克隆的存储库:

    $ cd bc-git-integration-push
  3. 执行 Maven 清理安装:

    $ mvn clean install
  4. EAP_HOME 目录中创建一个 /hooks 文件夹:

    $ mkdir -p _EAP_HOME_/hooks/
  5. git-push-2.1-SNAPSHOT.jar 复制到 EAP_HOME/hooks/ 文件夹:

    $ cp bc-git-integration-push/target/git-push-2.1-SNAPSHOT.jar _EAP_HOME_/hooks/
  6. 可选:要创建模板 .gitremote 配置文件,请运行 git-push-2.1-SNAPSHOT.jar:

    $ java -jar git-push-2.1-SNAPSHOT.jar

    模板 .gitremote 配置文件示例

    #This is an auto generated template empty property file
    provider=GIT_HUB
    login=
    password=
    token=
    remoteGitUrl=https://api.github.com/
    useSSH=false
    ignore=.*demo.*, test.*
    githubOrg=OrgName
    gitlabGroup=Group/subgroup

  7. 修改 .gitremote 配置文件参数。

    表 42.1. .gitremote 参数示例
    参数描述

    provider

    Git 提供程序。只有两个值才会被接受: GIT_HUB 和 GIT_LAB。必填

    login

    Git 供应商的用户名。必填

    password

    纯文本密码。如果提供了 令牌,则不需要此项。

    token

    生成的令牌,以替换基于 不安全连接 的用户名和密码 。注:如果没有设置警告,会显示一个警告,您使用的是不受保护的连接。如果 提供密码,则不需要此项。注意:GitLab 只支持令牌身份验证。

    remoteGitUrl

    用于任何供应商的公共供应商 URL 或本地托管企业。必需。注:公共 GitHub URL 应该是 API URL。例如, api.github.com。

    useSSH

    布尔值以允许 SSH 协议将更改推送到远程存储库。可选。默认 = false。注: 这个参数使用本地 ~/.ssh/ 目录来获取 SSH 配置。

    Ignore

    以逗号分隔的正则表达式,忽略与任何这些表达式匹配的项目名称。可选。

    githubOrg

    如果 GitHub 用作提供程序,则定义存储库组织。可选。

    gitlabGroup

    如果 GitLab 用作提供程序可选,则定义存储库组和子组。

  8. EAP_HOME/hooks 中创建 post-commit Git hook 文件:

    $ touch post-commit
  9. post-commit 文件的权限设置为 755

    $ chmod 755 post-commit
  10. #!/bin/bash 和 code 添加到 post-commit 文件中,以执行 git-push-2.1-SNAPSHOT.jar

    $ echo "#\!/bin/bash\njava -jar $APP_SERVER_HOME/hooks/git-push-2.1-SNAPSHOT.jar" > hooks/post-commit
  11. -Dorg.uberfire.nio.git.hooks 环境变量开始 Business Central。例如:

    $ ./standalone.sh -c standalone-full.xml -Dorg.uberfire.nio.git.hooks=_EAP_HOME_/hooks
注意

要使用执行 Java 代码的 post-commit Git hook,您必须使用以下 Java 库:

有关 post-commit Git hook 和 Java 代码示例的更多信息,请参阅 Business Central post-commit Git Hooks Integration

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.