forked from pivotal/cf-onboarding
-
Notifications
You must be signed in to change notification settings - Fork 0
/
concourse.prolific
89 lines (64 loc) · 4.63 KB
/
concourse.prolific
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
Set up a local Concourse using Docker Compose
### What?
[Concourse](https://concourse-ci.org/) is a Pivotal-sponsored, pipeline-based, continuous integration and deployment (CI/CD) system. The "pipelines" are a collection of three core concepts: [jobs](https://concourse-ci.org/jobs.html), [tasks](https://concourse-ci.org/tasks.html), and [resources](https://concourse-ci.org/resources.html). You'll learn more about these in upcoming stories. While CI may call to mind test automation, Pivotal teams use it for so much more than that. Take a stroll around the office and check out the jobs up on the CI screens to get a general idea of how broadly we use it to automate all that is automate-able.
In this story, we're going to use a tool called [Docker Compose](https://docs.docker.com/compose/overview/) to set up Concourse in local docker containers. (Most engineering teams at Pivotal use BOSH and [concourse-bosh-deployment](https://github.com/concourse/concourse-bosh-deployment) to set up their Concourse for CI. However, it's a much longer process and we'd rather jump straight to some cool Concourse concepts.)
### How?
Our friends at Start & Wayne actually have a pretty good Concourse tutorial. We'll start by using their documentation for setting up your local Concourse.
Open https://concoursetutorial.com/#getting-started in your browser and start there. Just in case you wanna know the outline, here's what youre going to do:
1. Install Docker and Docker Compose:
```
brew cask install docker
brew install docker-compose
```
2. Download the Stark & Wayne's pre-packaged Docker Compose YAML configuration:
```
wget https://raw.githubusercontent.com/starkandwayne/concourse-tutorial/master/docker-compose.yml
```
3. Use Docker Compose to start up your local Concourse in docker containers:
```
docker-compose up -d
```
**Open Concourse in your browser**
Now that you've got everything set up, navigate to `http://127.0.0.1:8080` in your browser.
### Expected Result
![Lonely Concourse, no pipelines](http://engineering.pivotal.io/images/concourse-000/no_pipelines.png)
### Resources
[Concourse Architecture Overview](https://concourse-ci.org/concepts.html)
[All About Concourse for Continuous Integration (video)](https://blog.pivotal.io/pivotal-perspectives/features/all-about-concourse-for-continuous-integration)
[YAML Validator](http://codebeautify.org/yaml-validator)
### Relevant Repos and Teams
**Concourse:** [concourse/concourse](https://github.com/concourse/concourse)
L: concourse
---
Download and hook up your Concourse CLI
### What?
Now that you have Concourse set up, the first thing you'll want to do is download the `fly` CLI and authenticate with your target. This is done with the `fly login` command. The login command serves double duty: it authenticates with a given endpoint and saves it under a more convenient name. The name and token are stored in ~/.flyrc (though you shouldn't really edit the file manually).
### How?
1. Download the `fly` CLI from the "no pipelines configured" page.
1. Move it to your computer's $PATH and make it executable.
1. Run `fly login --help` for instructions to login to Concourse. Our concourse is configured to allow users to login without any credentials (take a look at the `docker-compose.yml` and you should see how that was achieved).
### Expected Result
The CLI prints "target saved" and you can run `fly -t ...` with other commands.
### Resources
[Fly login documentation](https://concourse-ci.org/fly.html#fly-login)
### Relevant Repos and Teams
[concourse/fly](https://github.com/concourse/fly)
L: concourse
---
Learn you some Concourse
### What?
There's a lot of ground to cover when it comes to learning Concourse. One of the best resources you can use is the [tutorial developed by the folks at Stark & Wayne](https://concoursetutorial.com).
To get started, we're gonna recommend that you dig into the following topics _at the very least_:
- [Hello world](https://concoursetutorial.com/basics/task-hello-world/)
- [Task Inputs](https://concoursetutorial.com/basics/task-inputs/)
- [Task Scripts](https://concoursetutorial.com/basics/task-scripts/)
- [Basic Pipeline](https://concoursetutorial.com/basics/basic-pipeline/)
- [Pipeline Resources](https://concoursetutorial.com/basics/pipeline-resources/)
Don't let this list stop you from trying out other parts of the tutorial. There's a lot you can dig in to here, so let this be one of those choose-your-own-adventure moments.
### Resources
[Configuring a Job](https://concourse-ci.org/jobs.html)
[Pipeline Mechanics](https://concourse-ci.org/pipelines.html)
[Build Plans](https://concourse-ci.org/jobs.html#job-plan)
L: concourse
---
[RELEASE] Concourse ⇧