我将Gitlab迁移到了一个新域.我想将旧URL中的所有HTTP请求重定向到新URL.两个域当前都指向同一服务器(使用ADNS记录).
我使用Gitlab Omnibus包,与捆绑的nginx安装.这该怎么做?
我正在使用通过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打开,因为我的服务器是唯一直接命中它的东西.
美好的一天,
我为我的公司运行GitLab CE Omnibus(8.4.3)安装.我们最近开始使用CI,但仍主要用于生成文档.二进制构建正在被添加.
作为系统的一部分,我运行每日备份任务(使用gitlab-rake gitlab:backup:create).在过去的几天里,这些工件已经开始变得非常大,即使它只是在这个阶段的文档(doxygen生成的图像似乎是问题的主要来源).由于工件包含在备份中,因此每日备份(当前策略保持2周的价值)已经变得难以处理.
我已经搜索了一些答案,但我得到的大多数点击似乎与此阶段的功能请求有关.我知道CI仍然相对较新,但我认为工件管理在需求列表中相当高.
我有三个问题:
有没有办法在GitLab中管理/删除旧工件,而不是手动将它们从磁盘中删除(并且可能会破坏流程中的链接)?如果这个过程可以自动化将是理想的.
从1开始,是否可以在清理策略中针对特定类别的工件(即,仅删除较旧的文档目标,但不删除二进制文件等)?
是完全可能还是基于CI目标类型,是否可以从推荐的gitlab-rake gitlab:backup:create备份过程中排除工件?
任何链接,提示或建议将非常感谢!
亲切的问候,
[更新]更多阅读,产生以下内容:
从Gitlab 8.5开始,我可以手动删除单个构建工件.这有帮助,但不具备可扩展性.适当的工件管理(包括到期日期等)的时间表似乎是Gitlab 8.7.
似乎没有明确要求以不同方式处理不同的构建目标工件.
没有关于从备份任务中删除工件的信息.
问题:
当我在 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 …
我正在尝试将备份从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)
我知道我做错了什么?谢谢你的帮助
我刚刚删除了一个用户,结果出现了一个 Ghost 用户,是否可以删除 Ghost 用户?
我读到幽灵用户代表所有已删除的用户。任何已删除用户创建的问题和评论将转移给幽灵用户。
但是是不是就不能去掉了呢?
通过运行sudo gitlab-rake gitlab:backup:create我们可以手动为 Gitlab 创建备份。但是有什么方法可以定期(例如每天或每月)进行 Gitlab 备份。
PS:我希望备份文件位于本地文件夹而不是任何云存储中
所以我们的 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 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的新安装上注册一个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) 您好stackoverflow社区,
我的设置:
问题:
创建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版本是正确的解决方案。只是感觉不对,但是我没有主意。
谁能帮我吗?
我确实在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,这对我来说似乎很奇怪。此外,文档指出(重点是我): …