Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
6b4c082f
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6b4c082f
编写于
6月 14, 2020
作者:
G
GitLab Bot
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add latest changes from gitlab-org/gitlab@master
上级
ebc7110b
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
64 addition
and
4 deletion
+64
-4
qa/qa.rb
qa/qa.rb
+1
-0
qa/qa/scenario/test/instance/airgapped.rb
qa/qa/scenario/test/instance/airgapped.rb
+19
-0
qa/qa/service/docker_run/base.rb
qa/qa/service/docker_run/base.rb
+9
-0
qa/qa/service/docker_run/gitlab_runner.rb
qa/qa/service/docker_run/gitlab_runner.rb
+18
-1
qa/qa/service/docker_run/jenkins.rb
qa/qa/service/docker_run/jenkins.rb
+6
-2
qa/spec/scenario/test/instance/airgapped_spec.rb
qa/spec/scenario/test/instance/airgapped_spec.rb
+8
-0
spec/models/concerns/bulk_insert_safe_spec.rb
spec/models/concerns/bulk_insert_safe_spec.rb
+3
-1
未找到文件。
qa/qa.rb
浏览文件 @
6b4c082f
...
...
@@ -137,6 +137,7 @@ module QA
module
Instance
autoload
:All
,
'qa/scenario/test/instance/all'
autoload
:Smoke
,
'qa/scenario/test/instance/smoke'
autoload
:Airgapped
,
'qa/scenario/test/instance/airgapped'
end
module
Integration
...
...
qa/qa/scenario/test/instance/airgapped.rb
0 → 100644
浏览文件 @
6b4c082f
# frozen_string_literal: true
module
QA
module
Scenario
module
Test
module
Instance
class
Airgapped
<
Template
include
Bootable
include
SharedAttributes
def
perform
(
address
,
*
rspec_options
)
Runtime
::
Scenario
.
define
(
:runner_network
,
'airgapped'
)
super
end
end
end
end
end
end
qa/qa/service/docker_run/base.rb
浏览文件 @
6b4c082f
...
...
@@ -8,6 +8,7 @@ module QA
def
initialize
@network
=
Runtime
::
Scenario
.
attributes
[
:network
]
||
'test'
@runner_network
=
Runtime
::
Scenario
.
attributes
[
:runner_network
]
||
@network
end
def
network
...
...
@@ -18,6 +19,14 @@ module QA
@network
end
def
runner_network
shell
"docker network inspect
#{
@runner_network
}
"
rescue
CommandError
network
else
@runner_network
end
def
pull
shell
"docker pull
#{
@image
}
"
end
...
...
qa/qa/service/docker_run/gitlab_runner.rb
浏览文件 @
6b4c082f
# frozen_string_literal: true
require
'resolv'
require
'securerandom'
module
QA
...
...
@@ -38,11 +39,16 @@ module QA
def
register!
shell
<<~
CMD
.
tr
(
"
\n
"
,
' '
)
docker run -d --rm --entrypoint=/bin/sh
--network
#{
network
}
--name
#{
@name
}
--network
#{
runner_
network
}
--name
#{
@name
}
#{
'-v /var/run/docker.sock:/var/run/docker.sock'
if
@executor
==
:docker
}
--privileged
#{
@image
}
-c "
#{
register_command
}
"
CMD
# Prove airgappedness
if
runner_network
==
'airgapped'
shell
(
"docker exec
#{
@name
}
sh -c '
#{
prove_airgap
}
'"
)
end
end
def
tags
=
(
tags
)
...
...
@@ -85,6 +91,17 @@ module QA
gitlab-runner run
CMD
end
# Ping CloudFlare DNS, should fail
# Ping Registry, should fail to resolve
def
prove_airgap
gitlab_ip
=
Resolv
.
getaddress
'registry.gitlab.com'
<<~
CMD
echo "Checking airgapped connectivity..."
nc -zv -w 10
#{
gitlab_ip
}
80 && (echo "Airgapped network faulty. Connectivity netcat check failed." && exit 1) || (echo "Connectivity netcat check passed." && exit 0)
wget --retry-connrefused --waitretry=1 --read-timeout=15 --timeout=10 -t 2 http://registry.gitlab.com > /dev/null 2>&1 && (echo "Airgapped network faulty. Connectivity wget check failed." && exit 1) || (echo "Airgapped network confirmed. Connectivity wget check passed." && exit 0)
CMD
end
end
end
end
...
...
qa/qa/service/docker_run/jenkins.rb
浏览文件 @
6b4c082f
...
...
@@ -16,7 +16,9 @@ module QA
end
def
host_name
return
'localhost'
unless
QA
::
Runtime
::
Env
.
running_in_ci?
if
!
QA
::
Runtime
::
Env
.
running_in_ci?
&&
!
runner_network
.
equal?
(
'airgapped'
)
'localhost'
end
super
end
...
...
@@ -33,7 +35,9 @@ module QA
#{
@image
}
CMD
command
.
gsub!
(
"--network
#{
network
}
"
,
''
)
unless
QA
::
Runtime
::
Env
.
running_in_ci?
if
!
QA
::
Runtime
::
Env
.
running_in_ci?
&&
!
runner_network
.
equal?
(
'airgapped'
)
command
.
gsub!
(
"--network
#{
network
}
"
,
''
)
end
shell
command
end
...
...
qa/spec/scenario/test/instance/airgapped_spec.rb
0 → 100644
浏览文件 @
6b4c082f
# frozen_string_literal: true
describe
QA
::
Scenario
::
Test
::
Instance
::
Airgapped
do
describe
'#perform'
do
it_behaves_like
'a QA scenario class'
do
end
end
end
spec/models/concerns/bulk_insert_safe_spec.rb
浏览文件 @
6b4c082f
...
...
@@ -3,7 +3,7 @@
require
'spec_helper'
describe
BulkInsertSafe
do
class
BulkInsertItem
<
A
pplicationRecord
class
BulkInsertItem
<
A
ctiveRecord
::
Base
include
BulkInsertSafe
include
ShaAttribute
...
...
@@ -74,6 +74,8 @@ describe BulkInsertSafe do
ActiveRecord
::
Schema
.
define
do
drop_table
:bulk_insert_items
,
force:
true
end
BulkInsertItem
.
reset_column_information
end
describe
BulkInsertItem
do
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录