【问题标题】: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 个存储库。这是我所做的:
- 从标准 AOSP 源(repo init../repo sync)开始
- 应用芯片供应商的补丁,添加任何新的存储库(通常您至少有一些设备/您的分支/您的设备)。将此补丁添加为新分支(因此
repo list 可以与我的脚本一起使用)
- 使用几个 grep/awk 解析
repo list 输出以获取更改的存储库
- 对于那些 repo,使用一些其他脚本和一些 python gitlab 命令,在您的服务器上创建项目
我的脚本可以在in my gitlab project 找到。您可能需要将它们调整为您自己的 AOSP 版本。
HTH,
安德烈亚
【解决方案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