正在将AOSP源上载到专用Gitlab服务器

正在将AOSP源上载到专用Gitlab服务器,gitlab,android-source,Gitlab,Android Source,我已经在我的系统上安装了gitlab服务器。它可以很好地处理单个git存储库。现在我想把完整的android源代码和所有的.git项目推送到这个服务器上。怎么做?我必须单独推动所有项目吗 这是我的发现。简而言之,我认为使用gitlab来帮助托管aosp镜像是不可行的 我的测试是使用预制的docker容器,并尝试该网站。 发件人: 我发现,就像bitbucket或github一样,您创建了一个绑定到单个git的项目。-您必须为所有人创建一个项目 第一步。启动postgresql容器 docker

我已经在我的系统上安装了gitlab服务器。它可以很好地处理单个git存储库。现在我想把完整的android源代码和所有的.git项目推送到这个服务器上。怎么做?我必须单独推动所有项目吗

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

我的测试是使用预制的docker容器,并尝试该网站。 发件人:

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

第一步。启动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
docker run --name gitlab-redis -d \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    quay.io/sameersbn/redis:latest
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
第二步。启动redis容器

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
docker run --name gitlab-redis -d \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    quay.io/sameersbn/redis:latest
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
第三步。启动gitlab容器

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
docker run --name gitlab-redis -d \
    --volume /srv/docker/gitlab/redis:/var/lib/redis \
    quay.io/sameersbn/redis:latest
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

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

请注意,我选择在GitLab实例中不包含所有AOSP存储库,而只包含需要定制的一个。另一种是直接从谷歌git或本地回购镜像中克隆,以加快克隆速度

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

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

从标准AOSP源repo init../repo sync开始 应用硅供应商的补丁,添加任何新的回购协议,通常您至少有一些设备/yourbranch/yourdevice。将此修补程序添加为新分支,以便repo list与我的脚本配合使用 使用两个grep/awk解析repo列表输出来获得更改的repo 对于那些repo,使用一些其他脚本和一些命令,在服务器上创建项目 我的脚本可以找到。您可能需要使它们适应您自己的AOSP版本

嗯,


Andrea

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

见:

到目前为止,导入具有多个子结构的复杂项目结构是一项繁琐、耗时的任务

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

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

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

. .
以前曾提出并回答过非常类似的问题,例如,和。他们至少应该澄清一些事情。使用Gitlab的事实可能会改变一些情况。