summaryrefslogtreecommitdiff
path: root/app/views/projects/settings/ci_cd/show.html.haml
blob: f6ecb92310036039e0ff125d73ef1783c6c26a65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
- @content_class = "limit-container-width" unless fluid_layout
- page_title _("CI / CD Settings")
- page_title _("CI / CD")

- expanded = expanded_by_default?
- general_expanded = @project.errors.empty? ? expanded : true

%section.settings#js-general-pipeline-settings.no-animate{ class: ('expanded' if general_expanded), data: { qa_selector: 'general_pipelines_settings_content' } }
  .settings-header
    %h4
      = _("General pipelines")
    %button.btn.js-settings-toggle{ type: 'button' }
      = expanded ? _('Collapse') : _('Expand')
    %p
      = _("Customize your pipeline configuration, view your pipeline status and coverage report.")
  .settings-content
    = render 'form'

%section.settings#autodevops-settings.no-animate{ class: ('expanded' if expanded), data: { qa_selector: 'autodevops_settings_content' } }
  .settings-header
    %h4
      = s_('CICD|Auto DevOps')
    %button.btn.btn-default.js-settings-toggle{ type: 'button' }
      = expanded ? _('Collapse') : _('Expand')
    %p
      - auto_devops_url = help_page_path('topics/autodevops/index')
      - quickstart_url = help_page_path('topics/autodevops/quick_start_guide')
      - auto_devops_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: auto_devops_url }
      - quickstart_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: quickstart_url }
      = s_('AutoDevOps|Auto DevOps can automatically build, test, and deploy applications based on predefined continuous integration and delivery configuration. %{auto_devops_start}Learn more about Auto DevOps%{auto_devops_end} or use our %{quickstart_start}quick start guide%{quickstart_end} to get started right away.').html_safe % { auto_devops_start: auto_devops_start, auto_devops_end: '</a>'.html_safe, quickstart_start: quickstart_start, quickstart_end: '</a>'.html_safe }
  .settings-content
    = render 'autodevops_form', auto_devops_enabled: @project.auto_devops_enabled?

= render_if_exists 'projects/settings/ci_cd/protected_environments', expanded: expanded

%section.settings.no-animate#js-runners-settings{ class: ('expanded' if expanded || params[:expand_runners]), data: { qa_selector: 'runners_settings_content' } }
  .settings-header
    %h4
      = _("Runners")
    %button.btn.js-settings-toggle{ type: 'button' }
      = expanded ? _('Collapse') : _('Expand')
    %p
      = _("Runners are processes that pick up and execute jobs for GitLab. Here you can register and see your Runners for this project.")
      = link_to s_('More information'), help_page_path('ci/runners/README')
  .settings-content
    = render 'projects/runners/index'

%section.qa-variables-settings.settings.no-animate#js-cicd-variables-settings{ class: ('expanded' if expanded), data: { qa_selector: 'variables_settings_content' } }
  .settings-header
    = render 'ci/variables/header', expanded: expanded
  .settings-content
    = render 'ci/variables/index', save_endpoint: project_variables_path(@project)

%section.settings.no-animate#js-pipeline-triggers{ class: ('expanded' if expanded) }
  .settings-header
    %h4
      = _("Pipeline triggers")
    %button.btn.js-settings-toggle{ type: 'button' }
      = expanded ? _('Collapse') : _('Expand')
    %p
      = _("Triggers can force a specific branch or tag to get rebuilt with an API call. These tokens will impersonate their associated user including their access to projects and their project permissions.")
  .settings-content
    = render 'projects/triggers/index'

- if settings_container_registry_expiration_policy_available?(@project)
  %section.settings.no-animate#js-registry-policies{ class: ('expanded' if expanded) }
    .settings-header
      %h4
        = _("Cleanup policy for tags")
      %button.btn.js-settings-toggle{ type: 'button' }
        = expanded ? _('Collapse') : _('Expand')
      %p
        = _("Save space and find tags in the Container Registry more easily. Enable the cleanup policy to remove stale tags and keep only the ones you need.")
        = link_to _('More information'), help_page_path('user/packages/container_registry/index', anchor: 'cleanup-policy', target: '_blank', rel: 'noopener noreferrer')
    .settings-content
      = render 'projects/registry/settings/index'

= render_if_exists 'projects/settings/ci_cd/auto_rollback', expanded: expanded

- if can?(current_user, :create_freeze_period, @project)
  %section.settings.no-animate#js-deploy-freeze-settings{ class: ('expanded' if expanded) }
    .settings-header
      %h4
        = _("Deploy freezes")
      %button.btn.js-settings-toggle{ type: 'button' }
        = expanded ? _('Collapse') : _('Expand')
      %p
        - freeze_period_docs = help_page_path('user/project/releases/index', anchor: 'prevent-unintentional-releases-by-setting-a-deploy-freeze')
        - freeze_period_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: freeze_period_docs }
        = html_escape(s_('DeployFreeze|Specify times when deployments are not allowed for an environment. The %{filename} file must be updated to make deployment jobs aware of the %{freeze_period_link_start}freeze period%{freeze_period_link_end}.')) % { freeze_period_link_start: freeze_period_link_start, freeze_period_link_end: '</a>'.html_safe, filename: tag.code('gitlab-ci.yml') }

        - cron_syntax_url = 'https://crontab.guru/'
        - cron_syntax_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: cron_syntax_url }
        = s_('DeployFreeze|You can specify deploy freezes using only %{cron_syntax_link_start}cron syntax%{cron_syntax_link_end}.').html_safe % { cron_syntax_link_start: cron_syntax_link_start, cron_syntax_link_end: "</a>".html_safe }

    .settings-content
      = render 'ci/deploy_freeze/index'