-
Notifications
You must be signed in to change notification settings - Fork 154
/
Copy pathdocs.lit
68 lines (55 loc) · 2.89 KB
/
docs.lit
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
\title{Docs}{docs}
\use-plugin{concourse-docs}
Concourse is a pipeline-based continuous thing-doer.
The term "pipeline" has become widespread in CI discussions, so being precise
about what this means is important; Concourse's pipelines differ significantly
from others.
\reference{pipelines} are built around \reference{resources}, which represent
all external state, and \reference{jobs}, which interact with them. Concourse
pipelines function as dependency flows, similar to distributed
\code{Makefile}s. Pipelines are designed to be self-contained to minimize
server-wide configuration. Maximizing portability also reduces risk, making
it simpler for projects to recover from CI disruptions.
\reference{resources} like the \resource{git} and \resource{s3} are used to
express source code, dependencies, deployments, and other external states.
This interface also models more abstract concepts like scheduled or
interval triggers, via the \resource{time}.
\reference{resource-types} are defined within the pipeline itself, making
the pipelines more self-sufficient while keeping Concourse lean and
versatile without needing a complex plugin system.
\reference{jobs} are sequences of \reference{get-step}{\code{get}},
\reference{put-step}{\code{put}}, and \reference{task-step}{\code{task}} steps
to execute. These \reference{steps}{steps} determine the job's inputs and
outputs. Jobs are designed to be idempotent and loosely coupled, allowing the
pipeline to evolve with project needs without requiring engineers to maintain
too much context simultaneously.
Everything in Concourse runs in a container. Instead of modifying workers to
install build tools, \reference{tasks} define their own container image
(typically using Docker images via the \resource{registry-image}).
\inline-header{...What?}
Concourse admittedly has a steeper learning curve initially, and depending on
your background it might seem like a lot to grasp. A key goal of this project is
for that curve to flatten out shortly after and lead to greater productivity
and reduced stress over time.
If this all sounds confusing, that's OK - you may want to simply continue
onward, start experimenting a bit, and use the above as a quick reference of
the "big picture" as your understanding develops.
\include-section{./docs/getting-started.lit}
\include-section{./docs/install.lit}
\include-section{./docs/auth.lit}
\include-section{./docs/fly.lit}
\include-section{./docs/config.lit}
\include-section{./docs/pipelines.lit}
\include-section{./docs/vars.lit}
\include-section{./docs/resources.lit}
\include-section{./docs/resource-types.lit}
\include-section{./docs/jobs.lit}
\include-section{./docs/steps.lit}
\include-section{./docs/tasks.lit}
\include-section{./docs/builds.lit}
\include-section{./docs/how-to-guides.lit}
\include-section{./docs/operation.lit}
\include-section{./docs/observation.lit}
\include-section{./docs/internals.lit}
\split-sections
\table-of-contents