Add a button to deploy a runner to a Kubernetes cluster in the settings page
This commit is contained in:
parent
48b1455566
commit
f2709915d7
10 changed files with 71 additions and 25 deletions
|
@ -35,9 +35,8 @@
|
||||||
method: :put, class: 'btn btn-default',
|
method: :put, class: 'btn btn-default',
|
||||||
data: { confirm: _("Are you sure you want to reset registration token?") }
|
data: { confirm: _("Are you sure you want to reset registration token?") }
|
||||||
|
|
||||||
= render partial: 'ci/runner/how_to_setup_runner',
|
= render partial: 'ci/runner/how_to_setup_shared_runner',
|
||||||
locals: { registration_token: Gitlab::CurrentSettings.runners_registration_token,
|
locals: { registration_token: Gitlab::CurrentSettings.runners_registration_token }
|
||||||
type: 'shared' }
|
|
||||||
|
|
||||||
.append-bottom-20.clearfix
|
.append-bottom-20.clearfix
|
||||||
.pull-left
|
.pull-left
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
- link = link_to _("GitLab Runner section"), 'https://about.gitlab.com/gitlab-ci/#gitlab-runner', target: '_blank'
|
- link = link_to _("GitLab Runner section"), 'https://about.gitlab.com/gitlab-ci/#gitlab-runner', target: '_blank'
|
||||||
.bs-callout.help-callout
|
.append-bottom-10
|
||||||
%h4= _("How to setup a #{type} Runner for a new project")
|
%h4= _("Setup a #{type} Runner manually")
|
||||||
|
|
||||||
%ol
|
%ol
|
||||||
%li
|
%li
|
||||||
= _("Install a Runner compatible with GitLab CI")
|
= _("Install a Runner compatible with GitLab CI")
|
||||||
= (_("(checkout the %{link} for information on how to install it).") % { link: link }).html_safe
|
= (_("(checkout the %{link} for information on how to install it).") % { link: link }).html_safe
|
||||||
%li
|
%li
|
||||||
= _("Specify the following URL during the Runner setup:")
|
= _("Specify the following URL during the Runner setup:")
|
||||||
%code#coordinator_address= root_url(only_path: false)
|
%code#coordinator_address= root_url(only_path: false)
|
||||||
%li
|
%li
|
||||||
= _("Use the following registration token during setup:")
|
= _("Use the following registration token during setup:")
|
||||||
%code#registration_token= registration_token
|
%code#registration_token= registration_token
|
||||||
%li
|
%li
|
||||||
= _("Start the Runner!")
|
= _("Start the Runner!")
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
.bs-callout.help-callout
|
||||||
|
= render partial: 'ci/runner/how_to_setup_runner',
|
||||||
|
locals: { registration_token: registration_token, type: 'shared' }
|
26
app/views/ci/runner/_how_to_setup_specific_runner.html.haml
Normal file
26
app/views/ci/runner/_how_to_setup_specific_runner.html.haml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
.bs-callout.help-callout
|
||||||
|
.append-bottom-10
|
||||||
|
%h4= _('Setup a specific Runner automatically')
|
||||||
|
|
||||||
|
%p
|
||||||
|
- link_to_help_page = link_to(_('Learn more about Kubernetes'),
|
||||||
|
help_page_path('user/project/clusters/index'),
|
||||||
|
target: '_blank',
|
||||||
|
rel: 'noopener noreferrer')
|
||||||
|
|
||||||
|
= _('You can easily install a Runner on a Kubernetes cluster. %{link_to_help_page}').html_safe % { link_to_help_page: link_to_help_page }
|
||||||
|
|
||||||
|
%ol
|
||||||
|
%li
|
||||||
|
= _('Click the button below to begin the install process by navigating to the Kubernetes page')
|
||||||
|
%li
|
||||||
|
= _('Select an existing Kubernetes cluster or create a new one')
|
||||||
|
%li
|
||||||
|
= _('From the Kubernetes cluster details view, install Runner from the applications list')
|
||||||
|
|
||||||
|
= link_to _('Install Runner on Kubernetes'),
|
||||||
|
project_clusters_path(@project),
|
||||||
|
class: 'btn btn-info'
|
||||||
|
%hr
|
||||||
|
= render partial: 'ci/runner/how_to_setup_runner',
|
||||||
|
locals: { registration_token: registration_token, type: 'specific' }
|
|
@ -4,7 +4,7 @@
|
||||||
.col-xs-12
|
.col-xs-12
|
||||||
.text-content
|
.text-content
|
||||||
%h4.text-center= s_('ClusterIntegration|Integrate Kubernetes cluster automation')
|
%h4.text-center= s_('ClusterIntegration|Integrate Kubernetes cluster automation')
|
||||||
- link_to_help_page = link_to(s_('ClusterIntegration|Learn more about Kubernetes'), help_page_path('user/project/clusters/index'), target: '_blank', rel: 'noopener noreferrer')
|
- link_to_help_page = link_to(_('Learn more about Kubernetes'), help_page_path('user/project/clusters/index'), target: '_blank', rel: 'noopener noreferrer')
|
||||||
%p= s_('ClusterIntegration|Kubernetes clusters allow you to use review apps, deploy your applications, run your pipelines, and much more in an easy way. %{link_to_help_page}').html_safe % { link_to_help_page: link_to_help_page}
|
%p= s_('ClusterIntegration|Kubernetes clusters allow you to use review apps, deploy your applications, run your pipelines, and much more in an easy way. %{link_to_help_page}').html_safe % { link_to_help_page: link_to_help_page}
|
||||||
|
|
||||||
.text-center
|
.text-center
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
%h3 Shared Runners
|
%h3 Shared Runners
|
||||||
|
|
||||||
.bs-callout.bs-callout-warning.shared-runners-description
|
.bs-callout.shared-runners-description
|
||||||
- if Gitlab::CurrentSettings.shared_runners_text.present?
|
- if Gitlab::CurrentSettings.shared_runners_text.present?
|
||||||
= markdown_field(Gitlab::CurrentSettings.current_application_settings, :shared_runners_text)
|
= markdown_field(Gitlab::CurrentSettings.current_application_settings, :shared_runners_text)
|
||||||
- else
|
- else
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
on GitLab.com).
|
on GitLab.com).
|
||||||
%hr
|
%hr
|
||||||
- if @project.shared_runners_enabled?
|
- if @project.shared_runners_enabled?
|
||||||
= link_to toggle_shared_runners_project_runners_path(@project), class: 'btn btn-warning', method: :post do
|
= link_to toggle_shared_runners_project_runners_path(@project), class: 'btn btn-close', method: :post do
|
||||||
Disable shared Runners
|
Disable shared Runners
|
||||||
- else
|
- else
|
||||||
= link_to toggle_shared_runners_project_runners_path(@project), class: 'btn btn-success', method: :post do
|
= link_to toggle_shared_runners_project_runners_path(@project), class: 'btn btn-success', method: :post do
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
%h3 Specific Runners
|
%h3 Specific Runners
|
||||||
|
|
||||||
= render partial: 'ci/runner/how_to_setup_runner',
|
= render partial: 'ci/runner/how_to_setup_specific_runner',
|
||||||
locals: { registration_token: @project.runners_token,
|
locals: { registration_token: @project.runners_token }
|
||||||
type: 'specific' }
|
|
||||||
|
|
||||||
- if @project_runners.any?
|
- if @project_runners.any?
|
||||||
%h4.underlined-title Runners activated for this project
|
%h4.underlined-title Runners activated for this project
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Add a button to deploy a runner to a Kubernetes cluster in the settings page
|
||||||
|
merge_request: 17278
|
||||||
|
author:
|
||||||
|
type: changed
|
|
@ -19,7 +19,7 @@ describe "Admin Runners" do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'has all necessary texts' do
|
it 'has all necessary texts' do
|
||||||
expect(page).to have_text "How to setup"
|
expect(page).to have_text "Setup a shared Runner manually"
|
||||||
expect(page).to have_text "Runners with last contact more than a minute ago: 1"
|
expect(page).to have_text "Runners with last contact more than a minute ago: 1"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ describe "Admin Runners" do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'has all necessary texts including no runner message' do
|
it 'has all necessary texts including no runner message' do
|
||||||
expect(page).to have_text "How to setup"
|
expect(page).to have_text "Setup a shared Runner manually"
|
||||||
expect(page).to have_text "Runners with last contact more than a minute ago: 0"
|
expect(page).to have_text "Runners with last contact more than a minute ago: 0"
|
||||||
expect(page).to have_text 'No runners found'
|
expect(page).to have_text 'No runners found'
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,6 +7,20 @@ feature 'Runners' do
|
||||||
sign_in(user)
|
sign_in(user)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when user opens runners page' do
|
||||||
|
given(:project) { create(:project) }
|
||||||
|
|
||||||
|
background do
|
||||||
|
project.add_master(user)
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'user can see a button to install runners on kubernetes clusters' do
|
||||||
|
visit runners_path(project)
|
||||||
|
|
||||||
|
expect(page).to have_link('Install Runner on Kubernetes', href: project_clusters_path(project))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context 'when a project has enabled shared_runners' do
|
context 'when a project has enabled shared_runners' do
|
||||||
given(:project) { create(:project) }
|
given(:project) { create(:project) }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue