Add a button to deploy a runner to a Kubernetes cluster in the settings page
This commit is contained in:
		
							parent
							
								
									48b1455566
								
							
						
					
					
						commit
						f2709915d7
					
				| 
						 | 
					@ -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' }
 | 
				
			||||||
| 
						 | 
					@ -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 New Issue