如果项目有多个可用的跑步者,gitlab ci如何决定使用哪个跑步者?
我有一个omnibus gitlab 8.6.6-ee安装,配置了2个跑步者.跑者是相同的(docker图像,配置等),除了它们在不同的计算机上运行.
如果他们都是空闲的,那么他们中的任何一个都可以运行,哪个会运行?
我还没有找到一种方法来禁用自动启动,当我不使用时,它最终使用了太多RAM.
init文件不在/ etc/init或init.d中.
我试着update-rc.d gitlab remove没有结果.
我在Debian 8中使用GitLab 8.5.4.
我们已GitLab CE 9.1.2安装在我们的服务器上,其中计划每次运行备份8:00 PM Mon-Fri.到目前为止一切都很好,但昨天我们开始使用Wiki.我仔细检查了备份文件,并且它与前一天的备份完全相同(除了创建Wiki页面之外,系统中没有进行任何操作).
因此我怀疑Wiki没有包含在备份过程中,因此我打开了一个VM并尝试恢复备份文件.成功的操作后,我去了项目的维基部分,它是空的.
我正在阅读一些资源,他们说回购不应该是空的,因为Wiki被包括在内但我们的回购充满了代码,提交,分支,问题等.我遵循了Omnibus安装的备份说明,因为那就是我们的有.
0 20 * * 1-5 /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我没有包含任何SKIP环境变量,因此它不应该跳过任何内容.我错过了什么吗?我正确地遵循了指示.请帮帮我,我需要系统的完整备份.
如何确定在主机上安装gitlab-runner 的最低硬件要求是什么?我想要一个特定的运行程序来运行测试、构建 Docker 映像并部署应用程序。
当我在 Ubuntu-18.04 上安装 GitLab Omnibus 时,遇到了 LetsEncrypt 问题。不会颁发证书。
这导致 GitLab 使用自签名证书。我想安装我自己的证书,所以根本不需要 Let's Encrypt。
安装 GitLab 后,我可以通过将其添加到 /etc/gitlab/gitlab.rb 来禁用它
letsencrypt['enable'] = false
Run Code Online (Sandbox Code Playgroud)
然后将我的证书添加到正确的位置,然后重新配置。
是否可以使用上面的行将 gitlab.rb 文件传递到初始安装过程中,这样安装时就不用担心 LetsEncrypt 了?
我正在安装:
sudo EXTERNAL_URL=<my url> apt-get install gitlab-ee
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找类似的东西:
sudo EXTERNAL_URL=<my url> CONFIG=<path to local gitlab.rb> apt-get install gitlab-ee
Run Code Online (Sandbox Code Playgroud)
编辑:我相信最初的 Lets Encrypt 错误问题是这样的:
因为我已经将我们的GitLab CE升级到8.6它停止显示最近的更改,例如在Activity部分也没有显示MR的最新提交.
现在运行最新版本(8.6.4)仍然是同样的问题.
如下所示,Check看起来很好
root@server:~# sudo gitlab-rake gitlab:check
Checking GitLab Shell ...
GitLab Shell version >= 2.6.12 ? ... OK (2.6.12)
Repo base directory exists? ... yes
Repo base directory is a symlink? ... no
Repo base owned by git:git? ... yes
Repo base access is drwxrws---? ... yes
hooks directories in repos are links: ...
Administrator / projectX ... ok
Running /opt/gitlab/embedded/service/gitlab-shell/bin/check
Check GitLab API access: OK
Check directories and files:
/var/opt/gitlab/git-data/repositories: OK
/var/opt/gitlab/.ssh/authorized_keys: OK
Test redis-cli executable: redis-cli …Run Code Online (Sandbox Code Playgroud) 我想删除超过1周的备份文件.我从gitlab 跟踪了这个备份文档,并成功创建了备份文件以上传到Amazon S3.
我也设置gitlab_rails['backup_keep_time'] = 604800但它不起作用.
但是,从我在他们创建的IAM用户策略中观察到的内容.无权删除文件.
备份文件正在打包,我不想在AWS中手动执行此操作.
是否有任何标准方法可以删除Amazon S3中用于gitlab omnibus包的备份文件?
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1412062044000",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:GetBucketAcl",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:ListBucketMultipartUploads",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::my.s3.bucket/*"
]
},
{
"Sid": "Stmt1412062097000",
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:ListAllMyBuckets"
],
"Resource": [
"*"
]
},
{
"Sid": "Stmt1412062128000",
"Effect": "Allow",
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my.s3.bucket"
]
}
]
}
Run Code Online (Sandbox Code Playgroud) 今天,在尝试在.gitlab-ci.yml(上的)中设置CodeQuality 时gitlab-ee 11.10,gitlab-runner 11.10遇到了以下问题:
GitLab文档告诉您的第一件事是可以在DockerInDocker gitlab-runner和单个配置行的帮助下进行设置:
include:
- template: Code-Quality.gitlab-ci.yml
Run Code Online (Sandbox Code Playgroud)
也有免责声明此gitlab 11.11版本或更高版本受支持,这很奇怪,因为截至2019年4月23日,最新版本为11.10。不知道这是一个错字,还是在发布实际可用版本之前是否发布了文档。
我尝试按照以下说明进行操作,但很多事情尚不清楚:
我意识到include应该在stages定义之后添加该语句以使语法检查通过。
一个code_quality工作出现并通过:

(来源:cozyo.io)
但是,后来我从这个答案中得知,我需要创建一个.codeclimate.yml文件并以某种方式添加它.gitlab-ci.yml。该答案共有两个链接,可用于了解如何使用该链接,CodeClimate但我还没有找到添加的方法gitlab-ci.yml。我在与gitlab相关的页面中找到了一些示例,但没有使用include文档中描述的语句。
code_quaity通过的工作报告。在此答案中,有人指出该报告仅可在的合并请求上下载gitlab-ee。但是,这不切实际,因为开发人员必须开始发送垃圾邮件模拟合并请求,以查看他们的代码是否降级。在gitlab-ci.yml我使用看起来像这样:
image: docker:stable
variables:
ARTEFACT: my_app
VERSION: 0.1
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
services:
- docker:dind
before_script:
- docker info
stages: …Run Code Online (Sandbox Code Playgroud) 我正在研究将GitLab从旧服务器迁移到新服务器的过程.我需要做的第一件事就是确定GitLab所处的安装(Omnibus与源代码),我无法分辨.
这篇文章(综合或源 - 无法决定哪一个用于gitllab备份/恢复)提到在GitLab根文件夹(/ home/git/gitlab)中查找.git文件 - 我没有看到.git归档那里.因此,通过该评论,安装是Omnibus.
但是,看看这篇文章(检查GitLab版本),我无法运行:
sudo gitlab-rake gitlab:env:info (显示为Omnibus安装)
但我可以跑:
bundle exec rake gitlab:env:info RAILS_ENV=production (显示源安装)
我看到了相互矛盾的答案.我怎么知道GitLab在哪个安装?
在任何情况下,当我运行最后一个命令时,我得到以下结果(如果它有帮助):
系统信息系统:Debian 7.10当前用户:git使用RVM:no Ruby版本:2.0.0p247 Gem版本:2.0.3 Bundler版本:1.7.2 Rake版本:10.1.0
GitLab信息版本:6.0.2修订版:10b0b8f目录:/ home/git/gitlab数据库适配器:mysql2 URL:http://107.178.218.39 HTTP克隆URL:http://107.178.218.39/some-project.git SSH Clone URL:git@107.178.218.39:some-project.git使用LDAP:no使用Omniauth:no
GitLab Shell版本:1.7.0存储库:/ home/git/repositories/Hooks:/ home/git/gitlab-shell/hooks/Git:/ usr/bin/git
我已经在一个docker容器中运行了一个gitlab服务器,其中一个外部nginx服务器位于另一个docker容器中,因此gitlab nginx服务器被停用.现在我想使用gitlab服务器中包含的docker注册表.
我尝试从管理手册中获取信息:https://docs.gitlab.com/ee/administration/container_registry.html
并使用链接文件中的拟合nginx配置:https: //gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/support/nginx/registry-ssl
到gitlab.rb我补充说:
...
registry_external_url 'url'
registry_nginx['enable'] = false
registry['enable'] = true
...
Run Code Online (Sandbox Code Playgroud)
但是如果我尝试登录(docker login url),我只会收到502 Bad Gateway错误.我也尝试了一些其他配置与ombination,但总是得到相同的错误.有人搞定了吗?我需要在omnibus文件中添加更多设置,还是仍然无法使用带有omnibus和外部nginx的gitlab内部docker注册表?