Skip to content

Commit 8281b91

Browse files
authored
Merge pull request #554 from analytically/reword
docs: refresh language, clean up old references
2 parents 1c35f02 + daa0d61 commit 8281b91

File tree

5 files changed

+144
-198
lines changed

5 files changed

+144
-198
lines changed

lit/docs.lit

+24-25
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,49 @@
22

33
\use-plugin{concourse-docs}
44

5-
Concourse is a pipeline-based continuous thing-doer.
5+
Concourse is a pipeline-based continuous automation system.
66

7-
The word "pipeline" is all the rage in CI these days, so being more specific
8-
about this term is kind of important; Concourse's pipelines are significantly
9-
different from the rest.
7+
The term "pipeline" has become widespread in CI discussions, so being precise
8+
about what this means is important; Concourse's pipelines differ significantly
9+
from others.
1010

1111
\reference{pipelines} are built around \reference{resources}, which represent
1212
all external state, and \reference{jobs}, which interact with them. Concourse
13-
pipelines represent a dependency flow, kind of like distributed
14-
\code{Makefile}s. Pipelines are designed to be self-contained so as to minimize
15-
server-wide configuration. Maximizing portability also mitigates risk, making
16-
it easier for projects to recover from CI disasters.
13+
pipelines function as dependency flows, similar to distributed
14+
\code{Makefile}s. Pipelines are designed to be self-contained to minimize
15+
server-wide configuration. Maximizing portability also reduces risk, making
16+
it simpler for projects to recover from CI disruptions.
1717

1818
\reference{resources} like the \resource{git} and \resource{s3} are used to
19-
express source code, dependencies, deployments, and any other external state.
20-
This interface is also used to model more abstract things like scheduled or
19+
express source code, dependencies, deployments, and other external states.
20+
This interface also models more abstract concepts like scheduled or
2121
interval triggers, via the \resource{time}.
2222

23-
\reference{resource-types} are defined as part of the pipeline itself, making
24-
the pipelines more self-contained and keeping Concourse itself small and
25-
generic without resorting to a complicated plugin system.
23+
\reference{resource-types} are defined within the pipeline itself, making
24+
the pipelines more self-sufficient while keeping Concourse lean and
25+
versatile without needing a complex plugin system.
2626

2727
\reference{jobs} are sequences of \reference{get-step}{\code{get}},
2828
\reference{put-step}{\code{put}}, and \reference{task-step}{\code{task}} steps
2929
to execute. These \reference{steps}{steps} determine the job's inputs and
3030
outputs. Jobs are designed to be idempotent and loosely coupled, allowing the
31-
pipeline to grow with the project's needs without requiring engineers to keep
32-
too much in their head at a time.
31+
pipeline to evolve with project needs without requiring engineers to maintain
32+
too much context simultaneously.
3333

3434
Everything in Concourse runs in a container. Instead of modifying workers to
35-
install build tools, \reference{tasks} describe their own container image
35+
install build tools, \reference{tasks} define their own container image
3636
(typically using Docker images via the \resource{registry-image}).
3737

3838
\inline-header{...What?}
3939

40-
Concourse admittedly has a steeper learning curve at first, and depending on
41-
your background it might be a lot to take in. A core goal of this project is
42-
for the curve to flatten out shortly after and result in higher productivity
43-
and less stress over time.
44-
45-
If this all sounds like gobbeldigook, that's OK - you may want to just continue
46-
on, start kicking the tires a bit, and use the above as a quick reference of
47-
the "big picture" as the mental model sets in.
40+
Concourse admittedly has a steeper learning curve initially, and depending on
41+
your background it might seem like a lot to grasp. A key goal of this project is
42+
for that curve to flatten out shortly after and lead to greater productivity
43+
and reduced stress over time.
4844

45+
If this all sounds confusing, that's OK - you may want to simply continue
46+
onward, start experimenting a bit, and use the above as a quick reference of
47+
the "big picture" as your understanding develops.
4948

5049
\include-section{./docs/getting-started.lit}
5150
\include-section{./docs/install.lit}
@@ -66,4 +65,4 @@ the "big picture" as the mental model sets in.
6665
\include-section{./docs/internals.lit}
6766

6867
\split-sections
69-
\table-of-contents
68+
\table-of-contents

lit/ecosystem.lit

+18-27
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,24 @@
22

33
\use-plugin{concourse-docs}
44

5-
Concourse is used by a wide variety of businesses, governments, open source
6-
projects and non-profit organisations. The uses of Concourse are as diverse as
7-
its user base, and include CI/CD for apps, continuous delivery of
8-
infrastructure, release integration, automation of tests, and many more!
5+
Concourse is utilized by a diverse array of businesses, government agencies, open source
6+
projects and non-profit organizations. The applications of Concourse are as varied as
7+
its user community, including CI/CD for applications, continuous delivery of
8+
infrastructure, release integration, test automation, and numerous other use cases!
99

10-
If you use Concourse, or your business offers Concourse-related services, we'd
11-
love to hear from you. Please \link{raise a pull
12-
request}{https://github.com/concourse/docs/pulls} adding your organisation's
13-
name in lexicographical order to the list below, and help us let the world know
14-
how many people do things continuously with Concourse.
10+
If you use Concourse, or your organization offers Concourse-related services, we'd
11+
appreciate hearing from you. Please \link{submit a pull
12+
request}{https://github.com/concourse/docs/pulls} adding your organization's
13+
name in alphabetical order to the list below, and help us showcase how many
14+
people do things continuously with Concourse.
1515

1616
\section{
1717
\title{Who Uses Concourse?}{who-uses-concourse}
1818

19-
These organisations have either added themselves to this list, or whose usage of
20-
Concourse is in the public domain. There are many more users of Concourse who
21-
are unable to publicly share information about their tech stack (typically banks
22-
and security companies).
19+
These organizations have either added themselves to this list, or whose use of
20+
Concourse is publicly known. There are many additional Concourse users who
21+
cannot publicly disclose information about their technology stack (typically financial
22+
institutions and security firms).
2323

2424
\ordered-list{
2525
\link{Altoros}{https://www.altoros.com}
@@ -107,15 +107,17 @@ how many people do things continuously with Concourse.
107107
\section{
108108
\title{Service Providers}{service-providers}
109109

110-
The following organisations offer a range of Concourse-related services, such as
111-
training, consultancy, support and managed offerings.
110+
The following organizations provide various Concourse-related services, including
111+
training, consulting, support and managed solutions.
112112

113113
\list{
114114
\link{Altoros}{https://www.altoros.com}
115115
}{
116116
\link{anynines}{https://www.anynines.com}
117117
}{
118118
\link{Armakuni}{https://www.armakuni.com}
119+
}{
120+
\link{CentralCI}{https://centralci.com}
119121
}{
120122
\link{Cycloid}{https://www.cycloid.io}
121123
}{
@@ -133,15 +135,4 @@ how many people do things continuously with Concourse.
133135
}{
134136
\link{VMware Tanzu Labs}{https://tanzu.vmware.com/labs}
135137
}
136-
}
137-
138-
\section{
139-
\title{Third-Party Tools}{third-party-tools}
140-
141-
The following tools have documentation on how to use Concourse with their
142-
software.
143-
144-
\list{
145-
\link{BrowserStack}{https://www.browserstack.com/automate?utm_source=concourse&utm_medium=partnered} (\link{Docs}{https://www.browserstack.com/docs/automate/selenium/concourse})
146-
}
147-
}
138+
}

lit/examples.lit

+10-10
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
\use-plugin{concourse-docs}
44

5-
Configuring self-contained Concourse \reference{pipelines}{pipelines} is a great
6-
way to try things out before diving into the deeper content.
5+
Setting up self-contained Concourse \reference{pipelines}{pipelines} is an excellent
6+
way to experiment before exploring the more comprehensive documentation.
77

8-
Each example contains a pipeline YAML snippet which can be copy-pasted to a
9-
local file and configured on your instance via \reference{fly-set-pipeline}.
10-
From there you may want to poke around and try changing parts of the
11-
configuration to learn how things work. All the available knobs to turn are
12-
covered in the \reference{docs}.
8+
Each example presents a pipeline YAML snippet which can be copied to a
9+
local file and deployed to your instance via \reference{fly-set-pipeline}.
10+
From there you can experiment and modify parts of the
11+
configuration to better understand how everything works. All configuration options are
12+
detailed in the \reference{docs}.
1313

1414
\include-section{./examples/hello-world.lit}
1515
\include-section{./examples/serial-job.lit}
@@ -29,8 +29,8 @@ covered in the \reference{docs}.
2929
\split-sections
3030
\table-of-contents
3131

32-
For a real-world example, check out \link{Concourse's own
32+
For a practical real-world example, examine \link{Concourse's own
3333
pipeline}{https://ci.concourse-ci.org/teams/main/pipelines/concourse} (and its
34-
\link{config}{https://github.com/concourse/ci/blob/master/pipelines/concourse.yml}):
34+
\link{configuration}{https://github.com/concourse/ci/blob/master/pipelines/concourse.yml}):
3535

36-
\frame{https://ci.concourse-ci.org/teams/main/pipelines/concourse}{600px}
36+
\frame{https://ci.concourse-ci.org/teams/main/pipelines/concourse}{600px}

lit/index.lit

+51-66
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,25 @@
44
\styled{index}
55

66
\splash-intro{
7-
\inline-header{Concourse is an open-source continuous thing-doer.}
7+
\inline-header{Concourse is an open-source continuous automation platform.}
88

9-
Built on the simple mechanics of \reference{resources}{resources},
10-
\reference{tasks}{tasks}, and \reference{jobs}{jobs}, Concourse presents a
11-
general approach to automation that makes it great for
9+
Centered around the simple mechanics of \reference{resources}{resources},
10+
\reference{tasks}{tasks}, and \reference{jobs}{jobs}, Concourse delivers a
11+
versatile approach to automation that excels at
1212
\link{CI}{https://en.wikipedia.org/wiki/Continuous_integration}/\link{CD}{https://en.wikipedia.org/wiki/Continuous_delivery}.
1313

1414
\button{\reference{quick-start}}
1515
}{
1616
\download-links
1717
}
1818

19-
\page-region{light}{Built in the open}{
20-
Concourse's \link{RFC process}{https://github.com/concourse/rfcs} and
21-
\link{governance model}{https://github.com/concourse/governance} invite
22-
anyone to become a contributor, developing the project roadmap by
23-
collaborating in the open.
24-
25-
\rfcs-table{10}{ByTotalReactions}
26-
27-
Help shape Concourse into a tool that fits your needs by \link{submitting
28-
feedback}{https://github.com/concourse/rfcs/#reviewing-rfcs} on the RFCs
29-
listed above!
30-
}
31-
32-
\page-region{light}{Key features}{
33-
Concourse is designed to be \link{expressive, versatile, and
34-
safe}{https://github.com/concourse/rfcs/blob/master/DESIGN_PRINCIPLES.md},
35-
remaining intuitive as the complexity of your project grows.
19+
\page-region{light}{Core features}{
20+
Concourse is engineered to be \link{expressive, versatile, and
21+
secure}{https://github.com/concourse/rfcs/blob/master/DESIGN_PRINCIPLES.md},
22+
remaining intuitive even as your project complexity grows.
3623

3724
\side-by-side{
38-
\inline-header{Configure as code}
25+
\inline-header{Code-based configuration}
3926

4027
\codeblock{yaml}{{{
4128
resources:
@@ -52,45 +39,44 @@
5239
file: booklit/ci/test.yml
5340
}}}
5441
}{
55-
\inline-header{Visualize to verify}
42+
\inline-header{Visual verification}
5643

5744
\include-template{basic-pipeline-svg}
5845
}
5946

6047
\side-by-side{
61-
A Concourse \reference{pipelines}{pipeline} is like a distributed, continuous
48+
A Concourse \reference{pipelines}{pipeline} functions like a distributed, continuous
6249
\code{Makefile}.
6350

64-
Each \reference{jobs}{job} has a \reference{schema.job.plan}{build plan}
65-
declaring the job's input \reference{resources}{resources} and what to run
66-
with them when they change.
51+
Each \reference{jobs}{job} contains a \reference{schema.job.plan}{build plan}
52+
defining the job's input \reference{resources}{resources} and what actions to perform
53+
with them when changes occur.
6754
}{
68-
Your pipeline is then visualized in the web UI, taking only one click to get
69-
from a failed job to seeing why it failed.
55+
Your pipeline appears visualized in the web UI, requiring just one click to move
56+
from a failed job to understanding the cause of failure.
7057

71-
The visualization provides a "gut check" feedback loop: if it \italic{looks}
58+
The visualization provides immediate feedback: if it \italic{looks}
7259
wrong, it probably \italic{is} wrong.
7360
}
7461

75-
\inline-header{A more complicated example...}
62+
\inline-header{A more complex example...}
7663

77-
Jobs can depend on other jobs by configuring
78-
\reference{schema.get.passed}{\code{passed}} constraints. The resulting chain
79-
of jobs and resources is a dependency graph that continuously pushes your
80-
project forward, from source code to production.
64+
Jobs can depend on other jobs through \reference{schema.get.passed}{\code{passed}} constraints.
65+
The resulting network of jobs and resources creates a dependency graph that continuously
66+
advances your project forward, from source code to production.
8167

8268
\include-template{pipeline-image}
8369

84-
\italic{This particular pipeline can be found in the \link{Booklit
70+
\italic{This pipeline example can be found in the \link{Booklit
8571
repository}{https://github.com/concourse/booklit/blob/8741a4ca3116dcf24c30fedfa78e4aadcaff178a/ci/pipeline.yml}.}
8672

87-
\splash-example{CI under source control}{
88-
All configuration and administration is done using \reference{fly-cli}{the
73+
\splash-example{Source-controlled CI}{
74+
All configuration and management happens through \reference{fly-cli}{the
8975
\code{fly} CLI}.
9076

91-
The \reference{fly-set-pipeline} command pushes the config up to Concourse.
92-
Once it looks good, you can then check the file in to source control. This
93-
makes it easy to recover your project if the Concourse server burns down.
77+
The \reference{fly-set-pipeline} command uploads your configuration to Concourse.
78+
Once finalized, you can commit the file to source control, making it easy to
79+
recover your project if you migrate to a new Concourse server.
9480
}{
9581
\codeblock{sh}{{{
9682
$ fly -t ci set-pipeline -p booklit -c pipeline.yml
@@ -102,14 +88,13 @@
10288
}
10389

10490
\splash-example{Reproducible, debuggable builds}{
105-
Everything runs in containers, ensuring a clean environment on every run.
91+
Everything executes in containers, ensuring a clean environment for each run.
10692

107-
Each \reference{tasks}{task} specifies its own image, giving it full control
108-
over its dependencies, rather than managing packages and state on your
109-
workers.
93+
Every \reference{tasks}{task} specifies its own image, providing complete control
94+
over its dependencies, instead of managing packages on your workers.
11095

111-
The \reference{fly-intercept} command will pop you right into one of your
112-
build's containers, making it easy to troubleshoot flaky builds.
96+
The \reference{fly-intercept} command lets you access a build's containers directly,
97+
simplifying troubleshooting of problematic builds.
11398
}{
11499
\codeblock{sh}{{{
115100
$ fly -t ci intercept -j booklit/unit -s unit
@@ -123,16 +108,16 @@
123108
}}}
124109
}
125110

126-
\splash-example{Rapid local iteration}{
127-
The \reference{fly-execute} command lets you run a build with local changes.
111+
\splash-example{Efficient local testing}{
112+
The \reference{fly-execute} command enables you to run builds with local modifications.
128113

129-
This build runs in exactly the same way as it would run in your pipeline,
130-
without having to push broken commits until it works.
114+
These builds execute exactly as they would in your pipeline, eliminating the
115+
need to push incomplete commits while debugging.
131116

132-
When a build in the pipeline fails, you can run \reference{fly-execute} with
117+
When a pipeline build fails, you can use \reference{fly-execute} with
133118
the \code{-j} flag to run a one-off build with the same inputs as the failed
134-
build. You can then replace an input with your local changes with \code{-i}
135-
to see if your fix is valid.
119+
build. You can then replace an input with your local changes using \code{-i}
120+
to test your fix.
136121
}{
137122
\codeblock{sh}{{{
138123
~/booklit $ fly -t ci execute -c ci/test.yml
@@ -147,7 +132,7 @@
147132
}}}
148133
}
149134

150-
\inline-header{Bring your own integrations}
135+
\inline-header{Custom integrations}
151136

152137
\side-by-side{
153138
\codeblock{yaml}{{{
@@ -170,25 +155,25 @@
170155
- # ...
171156
}}}
172157
}{
173-
Concourse does not have a complex plugin system. Instead, it focuses on a
174-
single strong abstraction: \reference{resources}{resource}, which are
158+
Concourse doesn't rely on a complex plugin system. Instead, it focuses on a
159+
single powerful abstraction: \reference{resources}{resource}, which are
175160
implemented by \reference{resource-types}{resource types}.
176161

177162
The \reference{schema.pipeline.resources} field configures external artifacts
178-
that your pipeline will monitor for changes, fetch from, and push to.
163+
that your pipeline will monitor for changes, retrieve, and update.
179164

180-
For example, a resource with type \code{git} refers to a git repository,
165+
For instance, a resource with type \code{git} refers to a git repository,
181166
which will be \code{clone}d in a \reference{get-step} and \code{push}ed to
182-
using a \reference{put-step}. Behind the scenes, Concourse will continuously
183-
run \code{git fetch} to look for new commits that jobs may want to trigger
167+
using a \reference{put-step}. Behind the scenes, Concourse continuously
168+
runs \code{git fetch} to check for new commits that jobs might want to trigger
184169
on.
185170

186-
At its core, Concourse knows nothing about \code{git}. It comes with a
171+
At its foundation, Concourse has no built-in knowledge of \code{git}. It includes a
187172
\link{\code{git} resource type}{https://github.com/concourse/git-resource}
188-
out of the box, but you could just as easily bring your own into your
189-
pipeline by setting the \reference{schema.pipeline.resource_types} field.
173+
by default, but you can easily integrate your own into your pipeline through
174+
the \reference{schema.pipeline.resource_types} field.
190175

191-
To see what resource types are available, check out the \link{Resource Types
176+
To discover available resource types, check out the \link{Resource Types
192177
catalog}{https://resource-types.concourse-ci.org}!
193178
}
194179
}
@@ -198,4 +183,4 @@
198183
\include-section{./docs.lit}
199184
\include-section{./examples.lit}
200185
\include-section{./project.lit}
201-
\include-section{./ecosystem.lit}
186+
\include-section{./ecosystem.lit}

0 commit comments

Comments
 (0)