-
Notifications
You must be signed in to change notification settings - Fork 26
/
sample-project-config.yaml
78 lines (65 loc) · 1.87 KB
/
sample-project-config.yaml
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
#sample project config
#configure scm
scm:
type: git
repository: https://github.com/node-ci/nci
rev: master
#configure target node (by it's name)
node:
target: localhost
#specify which revisions should be built (by `tag` or `comment` regexp)
#in any case (e.g. when several commits pushed at once)
catchRev:
#for catching semver tags like 1.3.6 on master branch (`onRev` could
#be omitted, then it will catch by tag on any scm target)
onRev: master
tag: !!js/regexp /\d+\.\d+\.\d+/
#notification settings
notify:
#when
on:
#build successfully done
- done
#build completed with error
- error
#build status other than previous build status
#of this project
- change
to:
#target transports, `console` just log to console
#see `nci-mail-notification` plugin for mail notifications
console:
#trigger another project
trigger:
after:
#bulld `project2` after successful `done` of current project
- status: done
project: project2
#specify which projects builds will block building of current project (each
#element could be string or regexp)
blockedBy:
# - project2
- !!js/regexp /project1|project2/
#specify which projects will be blocked by current project (each element could
#be string or regexp)
blocks:
- project2
#specify project steps, each must has `cmd`.
#`name` (will be get from `cmd` by default) and `shell` (/bin/sh is default)
# are optional
steps:
- cmd: >
echo "long multiline string" &&
sleep 2 &&
echo "is not a problem when you're using yaml" &&
echo "cur dir is `pwd`"
- name: sleep
cmd: sleep 4
- cmd: echo 2 > 2.txt
- cmd: cat 2.txt
- shell: /bin/bash
cmd: >
for i in {1..100}; do
echo "tick $i";
sleep 0.3;
done;