Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Gepetto
dashboard
Commits
8ee3bbe3
Commit
8ee3bbe3
authored
Apr 11, 2018
by
Guilhem Saurel
Browse files
replace docker management commands by a view to get scripts
parent
320a8bf4
Pipeline
#549
passed with stages
in 53 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
rainboard/management/commands/docker-build.py
deleted
100644 → 0
View file @
320a8bf4
import
logging
from
subprocess
import
call
from
django.core.management.base
import
BaseCommand
from
rainboard.models
import
Image
logger
=
logging
.
getLogger
(
'rainboard.docker'
)
class
Command
(
BaseCommand
):
help
=
'Create all docker images'
def
handle
(
self
,
*
args
,
**
options
):
logger
.
info
(
'Building all docker images…'
)
for
image
in
Image
.
objects
.
all
():
ret
=
call
(
image
.
build
())
logger
.
info
(
f
'
{
image
}
:
{
ret
}
'
)
if
ret
==
0
:
image
.
update
()
rainboard/management/commands/docker-pull.py
deleted
100644 → 0
View file @
320a8bf4
import
logging
from
subprocess
import
call
from
django.core.management.base
import
BaseCommand
from
rainboard.models
import
Image
logger
=
logging
.
getLogger
(
'rainboard.docker'
)
class
Command
(
BaseCommand
):
help
=
'Pull all docker images'
def
handle
(
self
,
*
args
,
**
options
):
logger
.
info
(
'Pulling all docker images…'
)
for
image
in
Image
.
objects
.
all
():
call
(
image
.
pull
())
rainboard/management/commands/docker-push.py
deleted
100644 → 0
View file @
320a8bf4
import
logging
from
subprocess
import
call
from
django.core.management.base
import
BaseCommand
from
rainboard.models
import
Image
logger
=
logging
.
getLogger
(
'rainboard.docker'
)
class
Command
(
BaseCommand
):
help
=
'Push all docker images'
def
handle
(
self
,
*
args
,
**
options
):
logger
.
info
(
'Pushing all docker images…'
)
for
image
in
Image
.
objects
.
all
():
call
(
image
.
push
())
rainboard/urls.py
View file @
8ee3bbe3
...
...
@@ -17,4 +17,5 @@ urlpatterns = [
path
(
'project/<str:slug>/contributors'
,
views
.
ProjectContributorsView
.
as_view
(),
name
=
'project-contributors'
),
path
(
'project/<str:slug>/.gitlab-ci.yml'
,
views
.
ProjectGitlabView
.
as_view
(),
name
=
'project-gitlab'
),
path
(
'doc'
,
views
.
json_doc
,
name
=
'doc'
),
path
(
'docker'
,
views
.
docker
,
name
=
'docker'
),
]
rainboard/views.py
View file @
8ee3bbe3
from
django.http.response
import
JsonResponse
from
django.http.response
import
HttpResponse
,
JsonResponse
from
django.views.generic
import
DetailView
from
django_filters.views
import
FilterView
...
...
@@ -92,3 +92,11 @@ def json_doc(request):
"""
return
JsonResponse
({
'ret'
:
[(
b
.
project
.
slug
,
b
.
repo
.
namespace
.
slug
,
b
.
name
.
split
(
'/'
,
maxsplit
=
2
)[
2
])
for
b
in
models
.
Branch
.
objects
.
filter
(
keep_doc
=
True
)]})
def
docker
(
request
):
method
=
request
.
GET
.
get
(
'method'
,
'build'
)
if
method
not
in
[
'push'
,
'pull'
,
'build'
]:
method
=
'build'
return
HttpResponse
(
'
\n
'
.
join
([
' '
.
join
(
getattr
(
image
,
method
)())
for
image
in
models
.
Image
.
objects
.
all
()]),
content_type
=
"text/plain"
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment