Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
d4abff83
Commit
d4abff83
authored
Oct 02, 2019
by
James Fargher
Committed by
Evan Read
Oct 02, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Documented the exists rule
parent
601e7e78
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
1 deletion
+36
-1
doc/ci/yaml/README.md
doc/ci/yaml/README.md
+36
-1
No files found.
doc/ci/yaml/README.md
View file @
d4abff83
...
...
@@ -707,6 +707,7 @@ Available rule clauses include:
(similar to
[
`only:variables`
](
#onlyvariablesexceptvariables
)
).
-
[
`changes`
](
#ruleschanges
)
(same as
[
`only:changes`
](
#onlychangesexceptchanges
)
).
-
[
`exists`
](
#rulesexists
)
For example, using
`if`
. This configuration specifies that
`job`
should be built
and run for every pipeline on merge requests targeting
`master`
, regardless of
...
...
@@ -779,9 +780,42 @@ In this example, a job either set to:
-
Run manually if
`Dockerfile`
has changed OR
`$VAR == "string value"`
.
-
`when:on_success`
by the last rule, where no earlier clauses evaluate to true.
#### `rules:exists`
`exists`
accepts an array of paths and will match if any of these paths exist
as files in the repository.
For example:
```
yaml
job
:
script
:
docker build -t my-image:$CI_COMMIT_REF_SLUG .
rules
:
-
exists
:
-
Dockerfile
```
You can also use glob patterns to match multiple files in any directory within
the repository.
For example:
```
yaml
job
:
script
:
bundle exec rspec
rules
:
-
exists
:
-
spec/**.rb
```
NOTE:
**Note:**
For performance reasons, using
`exists`
with patterns is limited to 10000
checks. After the 10000th check, rules with patterned globs will always match.
#### Complex rule clauses
To conjoin
`if`
and
`changes`
clauses with an AND, use them in the same rule.
To conjoin
`if`
,
`changes`
, and
`exists`
clauses with an AND, use them in the
same rule.
In the following example:
...
...
@@ -805,6 +839,7 @@ The only clauses currently available are:
-
`if`
-
`changes`
-
`exists`
Keywords such as
`branches`
or
`refs`
that are currently available for
`only`
/
`except`
are not yet available in
`rules`
as they are being individually
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment