Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
97f58bae
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,发现更多精彩内容 >>
提交
97f58bae
编写于
11月 09, 2015
作者:
K
Kamil Trzcinski
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Change artifacts syntax to allow uploading untracked files
上级
d0e3e823
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
49 addition
and
11 deletion
+49
-11
doc/ci/yaml/README.md
doc/ci/yaml/README.md
+18
-3
lib/ci/gitlab_ci_yaml_processor.rb
lib/ci/gitlab_ci_yaml_processor.rb
+13
-3
spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
+18
-5
未找到文件。
doc/ci/yaml/README.md
浏览文件 @
97f58bae
...
...
@@ -262,13 +262,28 @@ The above script will:
### artifacts
`artifacts`
is used to specify list of files and directories which should be attached to build after success.
1.
Send all files in
`binaries`
and
`.config`
:
```
artifacts:
- binaries/
- .config
paths:
- binaries/
- .config
```
2.
Send all git untracked files:
```
artifacts:
untracked: true
```
3.
Send all git untracked files and files in
`binaries`
:
```
artifacts:
untracked: true
paths:
- binaries/
```
The above definition will archive all files in
`binaries/`
and
`.config`
.
The artifacts will be send after the build success to GitLab and will be accessible in GitLab interface to download.
This feature requires GitLab Runner v 0.7.0.
...
...
lib/ci/gitlab_ci_yaml_processor.rb
浏览文件 @
97f58bae
...
...
@@ -160,11 +160,17 @@ module Ci
raise
ValidationError
,
"
#{
name
}
job: except parameter should be an array of strings"
end
if
job
[
:artifacts
]
&&
!
validate_array_of_strings
(
job
[
:artifacts
])
raise
ValidationError
,
"
#{
name
}
: artifacts parameter should be an array of strings"
if
job
[
:artifacts
]
if
job
[
:artifacts
][
:untracked
]
&&
!
validate_boolean
(
job
[
:artifacts
][
:untracked
])
raise
ValidationError
,
"
#{
name
}
job: artifacts:untracked parameter should be an boolean"
end
if
job
[
:artifacts
][
:paths
]
&&
!
validate_array_of_strings
(
job
[
:artifacts
][
:paths
])
raise
ValidationError
,
"
#{
name
}
job: artifacts:paths parameter should be an array of strings"
end
end
if
job
[
:allow_failure
]
&&
!
job
[
:allow_failure
].
in?
([
true
,
fals
e
])
if
job
[
:allow_failure
]
&&
!
validate_boolean
(
job
[
:allow_failur
e
])
raise
ValidationError
,
"
#{
name
}
job: allow_failure parameter should be an boolean"
end
...
...
@@ -187,6 +193,10 @@ module Ci
value
.
is_a?
(
String
)
||
value
.
is_a?
(
Symbol
)
end
def
validate_boolean
(
value
)
value
.
in?
([
true
,
false
])
end
def
process?
(
only_params
,
except_params
,
ref
,
tag
)
if
only_params
.
present?
return
false
unless
matching?
(
only_params
,
ref
,
tag
)
...
...
spec/lib/ci/gitlab_ci_yaml_processor_spec.rb
浏览文件 @
97f58bae
...
...
@@ -339,7 +339,10 @@ module Ci
image:
"ruby:2.1"
,
services:
[
"mysql"
],
before_script:
[
"pwd"
],
rspec:
{
artifacts:
[
"logs/"
,
"binaries/"
],
script:
"rspec"
}
rspec:
{
artifacts:
{
paths:
[
"logs/"
,
"binaries/"
],
untracked:
true
},
script:
"rspec"
}
})
config_processor
=
GitlabCiYamlProcessor
.
new
(
config
)
...
...
@@ -356,7 +359,10 @@ module Ci
options:
{
image:
"ruby:2.1"
,
services:
[
"mysql"
],
artifacts:
[
"logs/"
,
"binaries/"
]
artifacts:
{
paths:
[
"logs/"
,
"binaries/"
],
untracked:
true
}
},
when:
"on_success"
,
allow_failure:
false
...
...
@@ -523,11 +529,18 @@ module Ci
end
.
to
raise_error
(
GitlabCiYamlProcessor
::
ValidationError
,
"rspec job: when parameter should be on_success, on_failure or always"
)
end
it
"returns errors if job artifacts is not an array of strings"
do
config
=
YAML
.
dump
({
types:
[
"build"
,
"test"
],
rspec:
{
script:
"test"
,
artifacts:
"string"
}
})
it
"returns errors if job artifacts
:untracked
is not an array of strings"
do
config
=
YAML
.
dump
({
types:
[
"build"
,
"test"
],
rspec:
{
script:
"test"
,
artifacts:
{
untracked:
"string"
}
}
})
expect
do
GitlabCiYamlProcessor
.
new
(
config
)
end
.
to
raise_error
(
GitlabCiYamlProcessor
::
ValidationError
,
"rspec job: artifacts parameter should be an array of strings"
)
end
.
to
raise_error
(
GitlabCiYamlProcessor
::
ValidationError
,
"rspec job: artifacts:untracked parameter should be an boolean"
)
end
it
"returns errors if job artifacts:paths is not an array of strings"
do
config
=
YAML
.
dump
({
types:
[
"build"
,
"test"
],
rspec:
{
script:
"test"
,
artifacts:
{
paths:
"string"
}
}
})
expect
do
GitlabCiYamlProcessor
.
new
(
config
)
end
.
to
raise_error
(
GitlabCiYamlProcessor
::
ValidationError
,
"rspec job: artifacts:paths parameter should be an array of strings"
)
end
end
end
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录