From d9362ded50046529fc2ec1126ccb5b5e066fc4e2 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Thu, 1 Jun 2017 17:15:02 +0000 Subject: [PATCH] Resolve "Improve Container Registry description" --- .../registry/repositories/index.html.haml | 72 +++++++++++++----- ...improve-container-registry-description.yml | 4 + doc/user/project/container_registry.md | 2 - .../project/img/container_registry_panel.png | Bin 32310 -> 0 bytes spec/features/container_registry_spec.rb | 2 +- 5 files changed, 58 insertions(+), 22 deletions(-) create mode 100644 changelogs/unreleased/30651-improve-container-registry-description.yml delete mode 100644 doc/user/project/img/container_registry_panel.png diff --git a/app/views/projects/registry/repositories/index.html.haml b/app/views/projects/registry/repositories/index.html.haml index be128e92fa7..5661af01302 100644 --- a/app/views/projects/registry/repositories/index.html.haml +++ b/app/views/projects/registry/repositories/index.html.haml @@ -1,26 +1,60 @@ - page_title "Container Registry" -%hr - -%ul.content-list - %li.light.prepend-top-default +.row.prepend-top-default.append-bottom-default + .col-lg-3 + %h4.prepend-top-0 + = page_title %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 + With the Docker Container Registry integrated into GitLab, every project + can have its own space to store its Docker images. + %p.append-bottom-0 + = succeed '.' do + Learn more about + = link_to 'Container Registry', help_page_path('user/project/container_registry'), target: '_blank' + + .col-lg-9 + .panel.panel-default + .panel-heading + %h4.panel-title + How to use the Container Registry + .panel-body + %p + First log in to GitLab’s Container Registry using your GitLab username + and password. If you have + = link_to '2FA enabled', help_page_path('user/profile/account/two_factor_authentication'), target: '_blank' + you need to use a + = succeed ':' do + = link_to 'personal access token', help_page_path('user/profile/account/two_factor_authentication', anchor: 'personal-access-tokens'), target: '_blank' + %pre docker login #{Gitlab.config.registry.host_port} - %br - Then you are free to create and upload a container image with build and push commands: - %pre - docker build -t #{escape_once(@project.container_registry_url)}/image . %br - docker push #{escape_once(@project.container_registry_url)}/image + %p + Once you log in, you’re free to create and upload a container image + using the common + %code build + and + %code push + commands: + %pre + :plain + docker build -t #{escape_once(@project.container_registry_url)} . + docker push #{escape_once(@project.container_registry_url)} - - if @images.blank? - .nothing-here-block No container image repositories in Container Registry for this project. + %hr + %h5.prepend-top-default + Use different image names + %p.light + GitLab supports up to 3 levels of image names. The following + examples of images are valid for your project: + %pre + :plain + #{escape_once(@project.container_registry_url)}:tag + #{escape_once(@project.container_registry_url)}/optional-image-name:tag + #{escape_once(@project.container_registry_url)}/optional-name/optional-image-name:tag - - else - = render partial: 'image', collection: @images + - if @images.blank? + %p.settings-message.text-center.append-bottom-default + No container images stored for this project. Add one by following the + instructions above. + - else + = render partial: 'image', collection: @images diff --git a/changelogs/unreleased/30651-improve-container-registry-description.yml b/changelogs/unreleased/30651-improve-container-registry-description.yml new file mode 100644 index 00000000000..0157c9885bc --- /dev/null +++ b/changelogs/unreleased/30651-improve-container-registry-description.yml @@ -0,0 +1,4 @@ +--- +title: Add changelog for improved Registry description +merge_request: 11816 +author: diff --git a/doc/user/project/container_registry.md b/doc/user/project/container_registry.md index 6a2ca7fb428..3cbb0b5196d 100644 --- a/doc/user/project/container_registry.md +++ b/doc/user/project/container_registry.md @@ -95,8 +95,6 @@ and click **Registry** in the project menu. This view will show you all tags in your project and will easily allow you to delete them. -![Container Registry panel](img/container_registry_panel.png) - ## Build and push images using GitLab CI > **Note:** diff --git a/doc/user/project/img/container_registry_panel.png b/doc/user/project/img/container_registry_panel.png deleted file mode 100644 index e4c9ecbb25bd6e99fc0d6cc4555994baecf85cdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32310 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 Ww