Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
5f47ebaa
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 搜索 >>
提交
5f47ebaa
编写于
11月 06, 2018
作者:
S
Shinya Maeda
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create deployments only if action: start
上级
b3020aaf
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
29 addition
and
1 deletion
+29
-1
app/models/concerns/deployable.rb
app/models/concerns/deployable.rb
+1
-1
app/workers/build_success_worker.rb
app/workers/build_success_worker.rb
+7
-0
spec/models/concerns/deployable_spec.rb
spec/models/concerns/deployable_spec.rb
+8
-0
spec/workers/build_success_worker_spec.rb
spec/workers/build_success_worker_spec.rb
+13
-0
未找到文件。
app/models/concerns/deployable.rb
浏览文件 @
5f47ebaa
...
...
@@ -7,7 +7,7 @@ module Deployable
after_create
:create_deployment
def
create_deployment
return
unless
ha
s_environment?
&&
!
has_deployment?
return
unless
start
s_environment?
&&
!
has_deployment?
environment
=
project
.
environments
.
find_or_create_by
(
name:
expanded_environment_name
...
...
app/workers/build_success_worker.rb
浏览文件 @
5f47ebaa
...
...
@@ -10,6 +10,7 @@ class BuildSuccessWorker
def
perform
(
build_id
)
Ci
::
Build
.
find_by
(
id:
build_id
).
try
do
|
build
|
create_deployment
(
build
)
if
build
.
has_environment?
stop_environment
(
build
)
if
build
.
stops_environment?
end
end
# rubocop: enable CodeReuse/ActiveRecord
...
...
@@ -26,4 +27,10 @@ class BuildSuccessWorker
deployment
.
succeed
end
end
##
# TODO: This should be processed in DeploymentSuccessWorker once we started storing `action` value in `deployments` records
def
stop_environment
(
build
)
build
.
persisted_environment
.
stop
end
end
spec/models/concerns/deployable_spec.rb
浏览文件 @
5f47ebaa
...
...
@@ -24,6 +24,14 @@ describe Deployable do
end
end
context
'when the deployable object will stop an environment'
do
let!
(
:job
)
{
create
(
:ci_build
,
:stop_review_app
)
}
it
'does not create a deployment record'
do
expect
(
deployment
).
to
be_nil
end
end
context
'when the deployable object has already had a deployment'
do
let!
(
:job
)
{
create
(
:ci_build
,
:start_review_app
,
deployment:
race_deployment
)
}
let!
(
:race_deployment
)
{
create
(
:deployment
,
:success
)
}
...
...
spec/workers/build_success_worker_spec.rb
浏览文件 @
5f47ebaa
...
...
@@ -47,6 +47,19 @@ describe BuildSuccessWorker do
expect
(
build
.
reload
).
not_to
be_has_deployment
end
end
context
'when the build will stop an environment'
do
let!
(
:build
)
{
create
(
:ci_build
,
:stop_review_app
,
environment:
environment
.
name
,
project:
environment
.
project
)
}
let
(
:environment
)
{
create
(
:environment
,
state: :available
)
}
it
'stops the environment'
do
expect
(
environment
).
to
be_available
subject
expect
(
environment
.
reload
).
to
be_stopped
end
end
end
context
'when build does not exist'
do
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录