问题标签 [gitlab]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1495 浏览

gitlab - gitlab 错误 - 遥控器意外挂断

我在我的 Ubuntu 上成功安装了 Gitlab(gitlab.domain.com),在客户端 PC 上我安装了 Git(Windows 7),然后运行 ​​Git Bash 使用以下命令生成 SSH 密钥:ssh-keygen -t rsa -C "username@domain .com" 在 C:\Users\AccountName.ssh 上创建私钥/公钥然后,将公钥添加到已安装的 gitlab 上的配置文件中。然后可以克隆/推送 Git Bash。

但是,我无法在其他PC上重现此问题,我尝试了一些PC,创建了新用户,新的ssh密钥......但总是遇到“远程端意外挂断”错误,有时可以克隆但推送时也会出现错误.

我只能在第一台 PC 上克隆/推送。我很困惑,不知道我错过了什么。我正在尝试让我的团队使用 Git

非常感谢任何建议

0 投票
6 回答
29882 浏览

authentication - 如何使用带有 LDAP 身份验证的 gitlab 设置管理员用户?

我刚刚设置了 gitlab,但是对于管理员用户我完全迷失了。wiki 似乎对这个话题保持沉默,谷歌也没有提供帮助。

那么,如何在 LDAP 身份验证中使用 gitlab 设置管理员用户?

0 投票
4 回答
8563 浏览

permissions - GitLab 的公共项目/默认权限

我将 Gitorious 与 Gitlab 进行比较,虽然我喜欢 Gitlab 的很多地方,但它有一个非常根本的问题。对于每个新存储库,创建者都需要管理有权访问该存储库的人员。

我们的模型相当简单:如果您可以访问 gitlab,那么您就可以访问大多数存储库。只有少数存储库会被关闭,我们甚至不需要在 gitlab 上使用它们。Gitorious 支持该模型,但我在 gitlab 上没有看到任何方法。

可以做到吗?如果是这样,怎么做?

0 投票
15 回答
29991 浏览

git - GitLab 需要 git@localhost 密码才能推送到仓库

我正在尝试让 GitLab 在我的服务器上启动并运行。我按照 gitlab github 页面上的安装说明进行操作,一切顺利。

问题是,当我创建一个回购并尝试

系统提示我输入“git@localhost 的密码:”

git用户没有密码,所以这是个问题。

其他遇到此问题的人建议在我的 sshd conf 中将 git 添加到 AllowedUsers 但我没有 AllowedUsers 字段,因此这似乎不是问题。

我对 ssh 的东西还是很陌生,所以我相信它是某种 ssh 密钥问题,尽管我尝试将所有相关的 ssh 密钥添加到 /home/git/.ssh/authorized_keys 并验证文件中没有换行符.

仅供参考,我的安装完全通过了 gitlab wiki 中提供的测试:

任何建议都非常感谢!

编辑

所以,我终于通过从另一台机器提交一个 repo 来解决这个问题。事实上,我被 SSH 连接到运行 gitlab 的同一台机器上。当我尝试从主机以外的机器提交时,它工作得很好。因此,对于某些人来说,这可能是一个解决方案(对于我们来说,因为我们在单独的机器上开发而不是在我们的服务器上开发)。

对于任何试图在同一台机器上进行托管和开发的人来说,这仍然是一个开放式的问题。

0 投票
1 回答
3562 浏览

git - 配置 GitLab 以将每个用户的存储库存储在个人目录中

刚刚安装了GitLab,它运行良好,但有一个例外:它默认将所有用户的存储库存储在一个目录中,如果两个用户独立尝试创建具有相同名称的项目,例如“test”,第二个用户将收到像“已经采取的路径”这样的失败。

隔离每个用户的存储库的基本方法是将它们放在带有用户名的子文件夹中,就像GitHub一样。但我不知道该怎么做。

我知道 GitLab 使用 Gitolite 来管理存储库,最后一个有一个应该允许它的功能:它被命名为“通配符用户”,在 gitolite.conf 中它看起来像这样:

这样我们在 repo 路径中看到 CREATOR,它将被替换为用户名创建的存储库。但我认为我可以使用此功能的唯一方法是使用 gitolite-admin.git 存储库的克隆手动管理 gitolite,这扼杀了 GitLab 的整个想法,其中应该允许通过 Web 界面进行所有此类操作。

0 投票
2 回答
4426 浏览

git - gitolite 不允许访问主分支上的目录,但不允许访问用户分支上的目录

考虑以下回购:

回购/src/A/

回购/src/B/

是否可以通过只有 1 个 repo 来实施以下限制?

  1. 在 master 分支上,允许完全访问维护者角色
  2. 在 master 分支上,禁止访问 A,但允许 B 成为贡献者角色。
  3. 在个人分支上,允许创建者完全访问 A 和 B。
0 投票
1 回答
2701 浏览

git - Gitlab/Gitolite 可以强制执行正确的用户名/电子邮件吗

尝试使用 git,我为自托管存储库设置了 Gitlab,它看起来很棒。

困扰我的一件事是,似乎任何人都可以像其他人一样进行提交(即:欺骗提交)。

即:我在 Gitlab 中设置了具有公钥访问权限的用户

  • 用户 1
  • 用户 2

现在只有那些用户可以推送 - 使用他们的私人 SSH 密钥 - 但似乎没有什么能阻止User2调整他们的 gitconfig 以以User1的名义提交并将其推送?

gitlab 和git -show中的历史将提交者显示为 User1 的 gitconfig 文本。我希望 Gitlab 将与推送 ssh 密钥关联的用户名标记到历史记录中,这样我就知道使用了谁的 ssh 密钥来推送。

场景是 repo 将在团队环境中使用,并且不允许欺骗提交似乎是谨慎的。

我已经阅读并了解,通常人们可能会更改工作流程以拥有一个有福的存储库,并且只有可以推动的受信任的提交者 - 但是在这个阶段,在学习 git 时,我想留在一个更集中/SVN 类型的工作流程中.

这可以使用钩子吗?

有一个类似的问题回答了 gitosis 但即使这似乎只强制提交者来自一系列用户,这些用户不会阻止 User1 欺骗为 User2 - 据我所知。

PS:也许我问错了问题——在 gitlab 中有没有办法发现哪个 ssh 密钥(以及真正的用户)被用来将代码推送到 repo 中?从我能找到的情况来看,情况并非如此。

0 投票
3 回答
10695 浏览

linux - 如何在 nginix.conf 中将 GitLab 配置为子域

在我的 VPS 上安装 GitLab 之前,我使用的是 Apache2。我只想让 GitLab 成为我网站 (git.example.com) 的子域,并让我的主网站 (www.example.com) 查看 /var/www/html/index.html

这是我现在的 nginx.conf 文件:

0 投票
1 回答
4385 浏览

ruby-on-rails - GitLab 电子邮件未发送?

GitLab 应该在创建帐户时自动向新用户发送包含密码的电子邮件。

我检查了 mail.log 文件,没有看到发送或尝试发送的记录。
我可以通过 postfix 命令行毫无问题地发送邮件。

在 gitlab ui 中,我没有失败或任何事情。当我查看邮件时,我看到这个待处理:

我已经修改了 gitlab.yml 以获得正确的发件人地址:notify@mydomain.com

0 投票
2 回答
2606 浏览

git - cent os bash unrecognized option --system on adduser 命令

我正在尝试在我的 centos linux 服务器上安装 gitlab。我正在关注位于此处的教程:https ://gist.github.com/1601228

一切都很顺利,直到我到达这条线:adduser --system --shell /bin/sh --comment 'gitolite' --create-home --home-dir /home/git git

我的外壳只是返回这个:adduser: unrecognized option '--system'

我似乎无法找到如何启用该选项或为什么它不可用。

我在跑:

  • CentOS 5.8 版(最终版)
  • GNU bash,版本 3.2.25(1)-release (x86_64-redhat-linux-gnu)

如果我需要发布任何其他软件版本,请告诉我。

如何成功运行此命令或完成此命令在我当前版本的 centos/bash/etc 上执行的相同任务?