BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
d7b91fb5
Commit
d7b91fb5
authored
May 09, 2016
by
Kamil Trzcinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplify Container Registry view implementation
parent
08396be6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
41 additions
and
25 deletions
+41
-25
project.rb
app/models/project.rb
+6
-4
index.html.haml
app/views/projects/container_registry/index.html.haml
+21
-20
blob.rb
lib/container_registry/blob.rb
+4
-0
registry.rb
lib/container_registry/registry.rb
+2
-1
repository.rb
lib/container_registry/repository.rb
+4
-0
tag.rb
lib/container_registry/tag.rb
+4
-0
No files found.
app/models/project.rb
View file @
d7b91fb5
...
...
@@ -375,17 +375,19 @@ class Project < ActiveRecord::Base
@repository
||=
Repository
.
new
(
path_with_namespace
,
self
)
end
def
container_registry
def
container_registry
_repository
@container_registry_repository
||=
begin
token
=
Jwt
::
ContainerRegistryAuthenticationService
.
full_access_token
(
path_with_namespace
)
registry
=
ContainerRegistry
::
Registry
.
new
(
Gitlab
.
config
.
registry
.
api_url
,
token:
token
)
url
=
Gitlab
.
config
.
registry
.
api_url
host_port
=
Gitlab
.
config
.
registry
.
host_port
registry
=
ContainerRegistry
::
Registry
.
new
(
url
,
token:
token
,
path:
host_port
)
registry
[
path_with_namespace
]
end
end
def
container_registry_url
def
container_registry_
repository_
url
if
container_registry_enabled?
&&
Gitlab
.
config
.
registry
.
enabled
"
#{
Gitlab
.
config
.
registry
.
host_
with_
port
}
/
#{
path_with_namespace
}
"
"
#{
Gitlab
.
config
.
registry
.
host_port
}
/
#{
path_with_namespace
}
"
end
end
...
...
app/views/projects/container_registry/index.html.haml
View file @
d7b91fb5
-
page_title
"Container Registry"
=
render
"header_title"
.light.prepend-top-default
%p
A 'container image' is a snapshot of a container.
You can host your 'container images' with GitLab.
%br
To start using container images hosted on GitLab you first need to login:
%pre
%code
docker login
#{
Gitlab
.
config
.
registry
.
host_port
}
%br
Then you are free to create and upload a container images with build and push commands:
%pre
docker build -t
#{
Gitlab
.
config
.
registry
.
host_port
}
/
#{
@project
.
path_with_namespace
}
.
%br
docker push
#{
Gitlab
.
config
.
registry
.
host_port
}
/
#{
@project
.
path_with_namespace
}
%hr
%ul
.content-list
-
if
@tags
.
blank?
%li
.nothing-here-block
No images to show
.nothing-here-block
No images in Container Registry for this project.
.light.prepend-top-default
%p
A 'container image' is a snapshot of a container.
You can host your container images with GitLab.
%br
To start using container images hosted on GitLab you first need to login:
%pre
%code
docker login
#{
Gitlab
.
config
.
registry
.
host_port
}
%br
Then you are free to create and upload a container images with build and push commands:
%pre
docker build -t
#{
escape_once
(
@project
.
container_registry_repository_url
)
}
.
%br
docker push
#{
escape_once
(
@project
.
container_registry_repository_url
)
}
-
else
.table-holder
%table
.table.builds
%thead
%tr
%th
Name
%th
Digest
%th
Image ID
%th
Size
%th
Created
%th
...
...
@@ -37,8 +38,8 @@
-
@tags
.
each
do
|
tag
|
%tr
%td
#{
tag
.
repository
.
name
}
:
#{
tag
.
name
}
=
clipboard_button
(
clipboard_text:
"docker pull
#{
Gitlab
.
config
.
registry
.
host_port
}
/
#{
tag
.
repository
.
name
}
:
#{
tag
.
name
}
"
)
=
escape_once
(
tag
.
name
)
=
clipboard_button
(
clipboard_text:
"docker pull
#{
tag
.
path
}
"
)
%td
-
if
layer
=
tag
.
layers
.
first
%span
.has-tooltip
(
title=
"#{layer.revision}"
)
...
...
lib/container_registry/blob.rb
View file @
d7b91fb5
...
...
@@ -11,6 +11,10 @@ module ContainerRegistry
digest
.
present?
end
def
path
"
#{
repository
.
path
}
@
#{
digest
}
"
end
def
digest
config
[
'digest'
]
end
...
...
lib/container_registry/registry.rb
View file @
d7b91fb5
module
ContainerRegistry
class
Registry
attr_reader
:uri
,
:client
attr_reader
:uri
,
:client
,
:path
def
initialize
(
uri
,
options
=
{})
@path
=
uri
||
options
[
:path
]
@uri
=
URI
.
parse
(
uri
)
@client
=
ContainerRegistry
::
Client
.
new
(
uri
,
options
)
end
...
...
lib/container_registry/repository.rb
View file @
d7b91fb5
...
...
@@ -10,6 +10,10 @@ module ContainerRegistry
@client
||=
registry
.
client
end
def
path
[
registry
.
path
,
name
].
compact
.
join
(
'/'
)
end
def
[]
(
tag
)
ContainerRegistry
::
Tag
.
new
(
self
,
tag
)
end
...
...
lib/container_registry/tag.rb
View file @
d7b91fb5
...
...
@@ -15,6 +15,10 @@ module ContainerRegistry
@manifest
=
client
.
repository_manifest
(
repository
.
name
,
name
)
end
def
path
"
#{
repository
.
path
}
:
#{
name
}
"
end
def
[]
(
key
)
return
unless
manifest
manifest
[
key
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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