标签: gitlab-omnibus

Gitlab Omnibus:如何将所有请求重定向到另一个域

我将Gitlab迁移到了一个新域.我想将旧URL中的所有HTTP请求重定向到新URL.两个域当前都指向同一服务器(使用ADNS记录).

我使用Gitlab Omnibus包,与捆绑的nginx安装.这该怎么做?

redirect nginx gitlab gitlab-omnibus

3
推荐指数
1
解决办法
1693
查看次数

如何在Gitlab CE Omnibus中关闭机架攻击?

我正在使用通过omnibus软件包安装的Gitlab CE,我将它专门用于API组件.

我有另一个应用程序服务器使用cURL访问API端点,因此对于Gitlab,它看起来像所有请求来自相同的IP地址.

当我尝试访问"受保护的路径"时,例如登录或注册用户前10个工作,然后Rack :: Attack启动并抛出429个错误.

这是我找到的配置文件的路径:

/var/opt/gitlab/gitlab-rails/etc/rack_attack.rb
Run Code Online (Sandbox Code Playgroud)

这个文件在顶部有这一行:

#This file is managed by gitlab-ctl. Manual changes will be
#erased! To change the contents below, edit /etc/gitlab/gitlab.rb
#and run `sudo gitlab-ctl reconfigure`.
Run Code Online (Sandbox Code Playgroud)

当我尝试直接编辑此文件时,它会在我进行重新配置时还原.

我在/etc/gitlab/gitlab.rb文件中找不到任何可以配置这些设置的内容.有谁知道我怎么做到这一点?我宁愿在我的应用程序服务器上安装Rack :: Attack,只是让Gitlab打开,因为我的服务器是唯一直接命中它的东西.

ruby ruby-on-rails gitlab gitlab-omnibus

3
推荐指数
1
解决办法
3430
查看次数

在GitLab CE Omnibus中管理(较旧的)CI工件

美好的一天,

我为我的公司运行GitLab CE Omnibus(8.4.3)安装.我们最近开始使用CI,但仍主要用于生成文档.二进制构建正在被添加.

作为系统的一部分,我运行每日备份任务(使用gitlab-rake gitlab:backup:create).在过去的几天里,这些工件已经开始变得非常大,即使它只是在这个阶段的文档(doxygen生成的图像似乎是问题的主要来源).由于工件包含在备份中,因此每日备份(当前策略保持2周的价值)已经变得难以处理.

我已经搜索了一些答案,但我得到的大多数点击似乎与此阶段的功能请求有关.我知道CI仍然相对较新,但我认为工件管理在需求列表中相当高.

我有三个问题:

  1. 有没有办法在GitLab中管理/删除旧工件,而不是手动将它们从磁盘中删除(并且可能会破坏流程中的链接)?如果这个过程可以自动化将是理想的.

  2. 从1开始,是否可以在清理策略中针对特定类别的工件(即,仅删除较旧的文档目标,但不删除二进制文件等)?

  3. 是完全可能还是基于CI目标类型,是否可以从推荐的gitlab-rake gitlab:backup:create备份过程中排除工件?

任何链接,提示或建议将非常感谢!

亲切的问候,

[更新]更多阅读,产生以下内容:

  1. 从Gitlab 8.5开始,我可以手动删除单个构建工件.这有帮助,但不具备可扩展性.适当的工件管理(包括到期日期等)的时间表似乎是Gitlab 8.7.

  2. 似乎没有明确要求以不同方式处理不同的构建目标工件.

  3. 没有关于从备份任务中删除工件的信息.

gitlab gitlab-ci gitlab-omnibus

3
推荐指数
1
解决办法
2623
查看次数

GitLab 中克隆的 HTTP url 错误

问题

当我在 GitLab 中创建存储库时,由于某种原因,它显示存储库的不同 HTTP URL 和 SSH URL。
例如)

HTTP:http://anotherexample.com/myrepo.git
SSH:git@gitlab.example.com/myrepo.git

我的 gitlab URL 是:https://gitlab.example.com,所以 SSH 是正确的,HTTP 是错误的。

anotherexample.com是我设置 DNS 之前我的服务器的 URL。)


我查看了 /var/opt/gitlab/gitlab-rails/etc/gitlab.yml,然后发现:

# 1. GitLab app settings
# ==========================
host: anotherexample.com
port: 80
https: false

ssh_host: gitlab.example.com
Run Code Online (Sandbox Code Playgroud)

然后我手动换了这个主机,暂时解决了。

但是,当我执行gitlab-ctl reconfigure时,gitlab.yml将被更新。


问题
如何在/etc/gitlab/gitlab.rb 中
为 HTTP 设置此主机名?

我已经有以下两行:

external_url 'https://gitlab.example.com'
gitlab_rails['gitlab_ssh_host'] = 'gitlab.example.com'
Run Code Online (Sandbox Code Playgroud)

但它似乎不适用于 HTTP url。


我的 GitLab 版本:8.8.3
我的服务器:CentOS 6.8 + nginx 1.10.1 …

nginx gitlab gitlab-omnibus

3
推荐指数
2
解决办法
5120
查看次数

GitLab 8.15.0恢复备份不起作用

我正在尝试将备份从gitlab A恢复到gitlab B.它们在同一版本(8.15.0)但是当我尝试使用此命令恢复时:

sudo gitlab-ctl stop sidekiq
sudo gitlab-ctl stop unicorn
sudo gitlab-rake gitlab:backup:restore BACKUP=1482434794_2016_12_22
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

rake aborted!
TypeError: no implicit conversion of nil into String
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:122:in `exist?'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:122:in `unpack'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:32:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:22:in `load'
/opt/gitlab/embedded/bin/bundle:22:in `<main>'
Tasks: TOP => gitlab:backup:restore
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

只需创建root用户,服务器就可以进行全新安装.Git实验室正在运行,我已经运行过一次:

sudo gitlab-ctl reconfigure
Run Code Online (Sandbox Code Playgroud)

我正在使用ubuntu 16.04 LTS并安装了Omnibus版本.我用来进行备份的命令是

sudo gitlab-rake gitlab:backup:create
Run Code Online (Sandbox Code Playgroud)

生成的文件是这样的:

1482434794_2016_12_22_gitlab_backup.tar
Run Code Online (Sandbox Code Playgroud)

我知道我做错了什么?谢谢你的帮助

gitlab gitlab-omnibus gitlab-8

2
推荐指数
1
解决办法
754
查看次数

如何删除Gitlab上的ghost用户?

我刚刚删除了一个用户,结果出现了一个 Ghost 用户,是否可以删除 Ghost 用户?

我读到幽灵用户代表所有已删除的用户。任何已删除用户创建的问题和评论将转移给幽灵用户。

但是是不是就不能去掉了呢?

gitlab gitlab-omnibus

2
推荐指数
1
解决办法
8772
查看次数

定期为 Gitlab 进行备份

通过运行sudo gitlab-rake gitlab:backup:create我们可以手动为 Gitlab 创建备份。但是有什么方法可以定期(例如每天或每月)进行 Gitlab 备份。

PS:我希望备份文件位于本地文件夹而不是任何云存储中

backup gitlab gitlab-omnibus

2
推荐指数
1
解决办法
5549
查看次数

GitLab Runner 在重新启动后不会自动获取作业

所以我们的 GitLab Runner 已经运行了几个星期了。我不得不进行一些升级,需要在安装它的机器上重新启动。

重新启动后,它不再自动获取作业。我所有的管道都说它们被卡住了,因为没有跑步者可以接手工作。

我 SSH 进入机器并运行

sudo gitlab-runner run
Run Code Online (Sandbox Code Playgroud)

并且工作会按照我的预期进行。但是,当我按CTRL+ 时,C它会停止任何已接的工作并再次停止接任何其他工作。如何解决此问题,使其恢复到重新启动前的状态?

附加信息

当我跑

sudo gitlab-runner start
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息: FATAL: Failed to start gitlab-runner: "systemctl" failed: exit status 5, Failed to start gitlab-runner.service: Unit gitlab-runner.service not found.

我跑的时候也弹出类似的错误

sudo gitlab-runner restart
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci-runner gitlab-omnibus

2
推荐指数
1
解决办法
7534
查看次数

关闭让我们加密

我正在安装 GitLab Omnibus。我想使用我自己的通配符证书。我已经将它们安装在 /etc/gitlab/ssl 中。当我单独重启 Nginx 时:

 sudo gitlab-ctl hup nginx 
Run Code Online (Sandbox Code Playgroud)

我的证书已被使用,我可以在浏览器中看到它们。但是,当我然后运行重新配置时:

 sudo gitlab-ctl reconfigure
Run Code Online (Sandbox Code Playgroud)

它会使用新的 Lets Encrypt 证书覆盖我的证书。我猜有一个选项可以完全关闭 Lets Encrypt。我在 /etc/gitlab/gitlab.rb 中找到了这个

 # letsencrypt['enable'] = nil
Run Code Online (Sandbox Code Playgroud)

但它被注释掉了 - 所以我假设它只是默认启用?即使在进行完整的“重新配置”时,我如何才能永远完全禁用 Lets Encrypt。谢谢

gitlab-omnibus

2
推荐指数
1
解决办法
1314
查看次数

错误:注册跑步者...失败的跑步者= 38BUk9-k状态= 404未找到

我正在尝试在gitlab的新安装上注册一个gitlab运行器(基于Centos7的omnibus rpm),但注册失败如下:

[root@ec2-x.y.z.w ~]# 
[root@ec2-x.y.z.w ~]# sudo gitlab-ci-multi-runner register
Running in system-mode.

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://ec2-x-y-z-w.compute-1.amazonaws.com/ 
Please enter the gitlab-ci token for this runner:
38BUk9-kgZkmmPHz-hsb
Please enter the gitlab-ci description for this runner:
[ec2-x-y-z-w.compute-1.amazonaws.com]: dcos runner 1
Please enter the gitlab-ci tags for this runner (comma separated):
dcos
Whether to run untagged builds [true/false]:
[false]: 
ERROR: Registering runner... failed runner=38BUk9-k status=404 Not         Found
PANIC: Failed to register this runner. Perhaps you are having network     problems …
Run Code Online (Sandbox Code Playgroud)

gitlab gitlab-ci gitlab-ci-runner gitlab-omnibus

1
推荐指数
1
解决办法
2399
查看次数

GitLab备份-找不到捆绑包命令

您好stackoverflow社区,

我的设置:

  • CentOS 7(在VM中运行)
  • Omnibus GitLab CE 10.4.0 128ef10(通过yum安装)
  • Bundler版本1.16.1(2017-12-21提交0034ef341)

问题:

创建GitLab的备份时,我通常转到gitlab目录并使用以下命令:

bundle exec rake gitlab:backup:create RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

效果很好。但是,我昨天尝试了此操作,由于未知原因,系统告诉我找不到命令捆绑包。因此,我向Google寻求帮助。Web上的一些文章提到要重新安装Ruby和Bundler,我发现这很奇怪,因为Omnibus GitLab附带了它们自己的版本(并且以前可以使用)。尽管如此,我还是这样做了,当运行上面的命令时,我现在得到消息:

Could not locate Gemfile or .bundle/ directory
Run Code Online (Sandbox Code Playgroud)

即使我在上述备份命令中提供了捆绑的路径,Ruby 2.4.2和Ruby 2.3.6也会发生这种情况。现在,有一些建议,我必须将Gemfile复制(我想这意味着捆绑了它吗?)到特定位置,但是我不知道哪个位置。细节冲突或模糊。所以,我被困住了。

我不太确定,首先在Omnibus GitLab之外摆弄Ruby版本是正确的解决方案。只是感觉不对,但是我没有主意。

谁能帮我吗?

backup bundle rubygems gitlab-omnibus

1
推荐指数
1
解决办法
715
查看次数

gitlab-ctl重新配置:无法确定节点名称

我确实在Ubuntu 16.04.4 LTS上设置了一个新的GitLab实例。安装软件包运行正常,并且GitLab似乎已启动并正在运行。然后,我开始在中配置实例并设置SMTP /etc/gitlab/gitlab.rb。之后我跑了sudo gitlab-ctl reconfigure。它失败,并显示以下错误消息:

Starting Chef Client, version 13.6.4

Running handlers:
There was an error running gitlab-ctl reconfigure:

Unable to determine node name: configure node_name or configure the system's hostname and fqdn

Running handlers complete
Chef Client failed. 0 resources updated in 10 seconds
Run Code Online (Sandbox Code Playgroud)

设置系统的主机名和fqdn:

$ hostname --fqdn
git-lab.dom
$ hostname
git-lab
Run Code Online (Sandbox Code Playgroud)

Ohai似乎成功读取了主机名,fqdn和域:

$ /opt/gitlab/embedded/bin/ohai
[...]
"hostname": "git-lab",
"machinename": "git-lab",
"fqdn": "git-lab.dom",
"domain": "dom",
[...]
Run Code Online (Sandbox Code Playgroud)

对于类似问题答案建议手动设置node_namein /etc/chef/client.rb。但是,gitlab omnibus软件包似乎将client.rb放在其他位置。我也不愿意遵循这个建议,因为对于我来说到目前为止我还没有必须安装其他的GitLab,这对我来说似乎很奇怪。此外,文档指出(重点是我): …

chef-infra gitlab gitlab-omnibus

1
推荐指数
1
解决办法
1625
查看次数