summaryrefslogtreecommitdiff
path: root/app/views/projects/pipelines_settings/_show.html.haml
blob: 2aceb4b529cf8ef719b9a2f08f0204432a2a9519 (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
.row.prepend-top-default
  .col-lg-12
    = form_for @project, url: project_pipelines_settings_path(@project) do |f|
      %fieldset.builds-feature
        .form-group
          %p Pipelines need to have Auto DevOps enabled or have a .gitlab-ci.yml configured before you can begin using Continuous Integration and Delivery.
          %h5 Auto DevOps (Beta)
          %p
            Auto DevOps will automatically build, test, and deploy your application based on a predefined Continious Integration and Delivery configuration.
            = link_to 'Learn more about Auto DevOps', help_page_path('topics/autodevops/index.md')
          = f.fields_for :auto_devops_attributes, @auto_devops do |form|
            .radio
              = form.label :enabled_true do
                = form.radio_button :enabled, 'true'
                %strong Enable Auto DevOps
                %br
                %span.descr
                  The Auto DevOps pipeline configuration will be used when there is no .gitlab-ci.yml
                  in the project.
            .radio
              = form.label :enabled_false do
                = form.radio_button :enabled, 'false'
                %strong Disable Auto DevOps
                %br
                %span.descr
                  A specific .gitlab-ci.yml file needs to be specified before you can begin using Continious Integration and Delivery.
            .radio
              = form.label :enabled_nil do
                = form.radio_button :enabled, ''
                %strong
                  Instance default (status: #{current_application_settings.auto_devops_enabled?})
                %br
                %span.descr
                  Follow the instance default to either have Auto DevOps enabled or disabled when there is no project specific .gitlab-ci.yml file specified.
                %br
            %p
              Define a domain used by Auto DevOps to deploy towards, this is required for deploys to succeed.
            = form.text_field :domain, class: 'form-control', placeholder: 'domain.com'

        %hr
        .form-group.append-bottom-default
          = f.label :runners_token, "Runner token", class: 'label-light'
          = f.text_field :runners_token, class: "form-control", placeholder: 'xEeFCaDAB89'
          %p.help-block The secure token used by the Runner to checkout the project

        %hr
        .form-group
          %h5.prepend-top-0
            Git strategy for pipelines
          %p
            Choose between <code>clone</code> or <code>fetch</code> to get the recent application code
            = link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'git-strategy'), target: '_blank'
          .radio
            = f.label :build_allow_git_fetch_false do
              = f.radio_button :build_allow_git_fetch, 'false'
              %strong git clone
              %br
              %span.descr
                Slower but makes sure the project workspace is pristine as it clones the repository from scratch for every job
          .radio
            = f.label :build_allow_git_fetch_true do
              = f.radio_button :build_allow_git_fetch, 'true'
              %strong git fetch
              %br
              %span.descr
                Faster as it re-uses the project workspace (falling back to clone if it doesn't exist)

        %hr
        .form-group
          = f.label :build_timeout_in_minutes, 'Timeout', class: 'label-light'
          = f.number_field :build_timeout_in_minutes, class: 'form-control', min: '0'
          %p.help-block
            Per job in minutes. If a job passes this threshold, it will be marked as failed
            = link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'timeout'), target: '_blank'

        %hr
        .form-group
          = f.label :ci_config_path, 'Custom CI config path', class: 'label-light'
          = f.text_field :ci_config_path, class: 'form-control', placeholder: '.gitlab-ci.yml'
          %p.help-block
            The path to CI config file. Defaults to <code>.gitlab-ci.yml</code>
            = link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'custom-ci-config-path'), target: '_blank'

        %hr
        .form-group
          .checkbox
            = f.label :public_builds do
              = f.check_box :public_builds
              %strong Public pipelines
            .help-block
              Allow public access to pipelines and job details, including output logs and artifacts
              = link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'visibility-of-pipelines'), target: '_blank'
            .bs-callout.bs-callout-info
              %p If enabled:
              %ul
                %li
                  For public projects, anyone can view pipelines and access job details (output logs and artifacts)
                %li
                  For internal projects, any logged in user can view pipelines and access job details (output logs and artifacts)
                %li
                  For private projects, any member (guest or higher) can view pipelines and access job details (output logs and artifacts)
              %p
                If disabled, the access level will depend on the user's
                permissions in the project.

        %hr
        .form-group
          .checkbox
            = f.label :auto_cancel_pending_pipelines do
              = f.check_box :auto_cancel_pending_pipelines, {}, 'enabled', 'disabled'
              %strong Auto-cancel redundant, pending pipelines
            .help-block
              New pipelines will cancel older, pending pipelines on the same branch
              = link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'auto-cancel-pending-pipelines'), target: '_blank'

        %hr
        .form-group
          = f.label :build_coverage_regex, "Test coverage parsing", class: 'label-light'
          .input-group
            %span.input-group-addon /
            = f.text_field :build_coverage_regex, class: 'form-control', placeholder: 'Regular expression'
            %span.input-group-addon /
          %p.help-block
            A regular expression that will be used to find the test coverage
            output in the job trace. Leave blank to disable
            = link_to icon('question-circle'), help_page_path('user/project/pipelines/settings', anchor: 'test-coverage-parsing'), target: '_blank'
          .bs-callout.bs-callout-info
            %p Below are examples of regex for existing tools:
            %ul
              %li
                Simplecov (Ruby) -
                %code \(\d+.\d+\%\) covered
              %li
                pytest-cov (Python) -
                %code \d+\%\s*$
              %li
                phpunit --coverage-text --colors=never (PHP) -
                %code ^\s*Lines:\s*\d+.\d+\%
              %li
                gcovr (C/C++) -
                %code ^TOTAL.*\s+(\d+\%)$
              %li
                tap --coverage-report=text-summary (NodeJS) -
                %code ^Statements\s*:\s*([^%]+)
              %li
                excoveralls (Elixir) -
                %code \[TOTAL\]\s+(\d+\.\d+)%

        = f.submit 'Save changes', class: "btn btn-save"

%hr

.row.prepend-top-default
  = render partial: 'projects/pipelines_settings/badge', collection: @badges