【问题标题】:Uploading AOSP Source to private Gitlab Server将 AOSP 源上传到私有 Gitlab 服务器
【发布时间】:2015-01-28 12:35:13
【问题描述】:

我的系统上安装了 gitlab 服务器。它适用于单个 git 存储库。现在我想将包含所有 .git 项目的完整 android 源推送到该服务器。怎么做?我必须单独推送所有项目吗?

【问题讨论】:

标签: gitlab android-source


【解决方案1】:

我有同样的问题,为我们的硬件管理不同的 AOSP 版本。

请注意,我选择不在我们的 GitLab 实例中包含所有 AOSP 存储库,而只有需要自定义的一个。另一个直接从google git克隆(或本地repo镜像以加速克隆)。

我所做的是为可能适用于不同项目的通用存储库创建一个组 (aosp)。为给定的 AOSP 自定义设置一个自定义组,我通常只放置 device/xxx 源和 repo 清单。

这里最烦人的任务是设置aosp 组,通常有50 个存储库。这是我所做的:

  1. 从标准 AOSP 源(repo init../repo sync)开始
  2. 应用芯片供应商的补丁,添加任何新的存储库(通常您至少有一些设备/您的分支/您的设备)。将此补丁添加为新分支(因此 repo list 可以与我的脚本一起使用)
  3. 使用几个 grep/awk 解析 repo list 输出以获取更改的存储库
  4. 对于那些 repo,使用一些其他脚本和一些 python gitlab 命令,在您的服务器上创建项目

我的脚本可以在in my gitlab project 找到。您可能需要将它们调整为您自己的 AOSP 版本。

HTH,

安德烈亚

【讨论】:

    【解决方案2】:

    您可以尝试(3 年后)最新的 GitLab 11.2(2018 年 8 月 22 日)。

    见“Support for Android project import”:

    到目前为止,导入具有多个子结构的复杂项目结构是一项乏味且耗时的任务。

    在此版本中,我们引入了对项目导入清单文件的支持。 清单 XML 文件包含存储库组的元数据,允许您一次性导入具有多个存储库的大型项目结构。

    在创建新项目时,有一个新选项可以选择“清单文件”作为“导入项目”选项卡上的项目导入源。 此外,如果您不想导入完整的项目结构,可以在后续步骤中从单个项目列表中进行选择。

    这项改进允许您从 Android Open Source Project (AOSP) 导入 Android 操作系统代码,这是一个令人兴奋的用例。您还可以导入使用符合我们format requirements 的清单文件的其他项目。

    【讨论】:

      【解决方案3】:

      这是我发现的。简而言之,我认为使用 gitlab 来帮助托管 aosp 镜像是不可行的。

      我的测试是使用预制的 docker 容器并试用该网站。 (来自:https://github.com/sameersbn/docker-gitlab

      我发现就像(bitbucket 或 github)一样,您创建了一个绑定到单个 git 的项目。 -- 你必须为所有人创建一个项目

      步骤 1. 启动 postgresql 容器

      docker run --name gitlab-postgresql -d \
          --env 'DB_NAME=gitlabhq_production' \
          --env 'DB_USER=gitlab' --env 'DB_PASS=password' \
          --volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
          quay.io/sameersbn/postgresql:9.4-5
      

      步骤 2. 启动一个 redis 容器

      docker run --name gitlab-redis -d \
          --volume /srv/docker/gitlab/redis:/var/lib/redis \
          quay.io/sameersbn/redis:latest
      

      步骤 3. 启动 gitlab 容器

      docker run --name gitlab -d \
          --link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
          --publish 10022:22 --publish 10080:80 \
          --env 'GITLAB_PORT=10080' --env 'GITLAB_SSH_PORT=10022' \
          --env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \
          --volume /srv/docker/gitlab/gitlab:/home/git/data \
          quay.io/sameersbn/gitlab:8.0.5
      

      【讨论】:

        猜你喜欢
        • 2017-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多