blob: 1f21b6d8a46c6e356a789eabffa97dffa9144f35 (
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
|
[[!meta title="continuous integration should be fun"]]
[[!img ick-logo.svg width=300 height=300 class=float_right]]
Ick is a **continuous Integration** system. It is currently **in
development** and ALPHA quality. Some features may work and anything may
change in a future release.
If you're looking for something to use for real, ick is probably not
ready for you yet. If you'd like ick to grow into something takes care
of all your CI worries, **please join and help** make that happen.
[[About]] —
[[Project]] —
[[Download]] —
[[Documentation|docs]] —
[[Contact]] —
[[License]] —
[[News]]
Latest news from the project:
<div class="newslist">
[[!inline pages="page(blog/*) and tagged(news)"
limit=5 template=titlepage archive=yes trail=no feeds=no]]
</div>
# Example .ick file
An .ick file defines projects and pipelines for ick. Here's an
example:
projects:
# Define project to build a container "system tree": basically
# the "chroot" for the container.
- project: stretch_systree
pipelines:
- build_debian_systree
parameters:
debian_codename: stretch
packages:
- build-essential
- git
- jq
artifact_name: stretch_systree
# Define a project to say "hello, world" inside a container.x
- project: hello
pipelines:
- prepare_container
- hello
parameters:
systree_name: stretch_systree
pipelines:
# Define a pipeline of actions to build a system tree. Note
# that this is reuseable for different systrees, by the project
# giving it different parameters.
- pipeline: build_debian_systree
parameters:
- debian_codename
- packages
- artifact_name
actions:
- debootstrap: auto
mirror: http://deb.debian.org/debian
where: host
- shell: |
apt-get install -y python3
where: chroot
- python: |
import os, subprocess
def runcmd(argv, **kwargs):
subprocess.check_call(argv, **kwargs)
runcmd(['apt-get', 'install', '-y'] + params['packages'])
where: chroot
- archive: workspace
where: host
# Prepare container for building: get systree from artifact store.
- pipeline: prepare_container
actions:
- action: populate_systree
where: host
# Execute "echo hello, world" inside the container for a project.
- pipeline: hello
actions:
- shell: |
echo hello, world
pwd
where: container
|