Skip to content

Commit 7adebb7

Browse files
committed
docs(components): rework builder, add slugbuilder, dockerbuilder
1 parent 0703386 commit 7adebb7

1 file changed

Lines changed: 30 additions & 10 deletions

File tree

src/understanding-deis/components.md

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,21 +30,39 @@ fetched and replayed from Store so no data is lost. For more information
3030
on backup and restore read the documentation for
3131
[Backing up and Restoring Data][backupandrestore].
3232

33-
## Builder
33+
## Builder: builder, slugbuilder, and dockerbuilder
3434

35-
The builder component uses a [Git][] server to process
36-
[Application][] builds. The builder:
35+
Project Location: [deis/builder](https://github.com/deis/builder)
36+
37+
38+
The builder component is responsible for accepting code pushes via [Git][] and
39+
managing the build process of your [Application][]. The builder process is:
3740

3841
1. Receives incoming `git push` requests over SSH
3942
2. Authenticates the user via SSH key fingerprint
40-
3. Authorizes the user's access to write to the Git repository
41-
4. Builds a new `Docker` image from the updated git repository
42-
5. Adds the latest [Config][] to the resulting Docker image
43-
6. Pushes the new Docker image to the platform's [Registry][]
44-
7. Triggers a new [Release][] through the [Controller][]
43+
3. Authorizes the user's access to push code to the Application
44+
4. Starts the Application Build phase (see below)
45+
5. Triggers a new [Release][] via the [Controller][]
46+
47+
Builder currently supports both buildpack and Dockerfile based builds.
48+
49+
Project Location: [deis/slugbuilder](https://github.com/deis/slugbuilder)
50+
51+
For Buildpack-based deploys, the builder component will launch a one-shot Pod
52+
in the `deis` namespace. This pod runs `slugbuilder` component which handles
53+
default and custom buildpacks (specified by `BUILDPACK_URL`). The "compiled"
54+
application results in a slug, consisting of your application code and all of
55+
its depdencies as determined by the buildpack. The slug is pushed to the
56+
cluster-configured object storage for later execution. For more information
57+
about buildpacks see [using buildpacks][using-buildpacks].
58+
59+
Project Location: [deis/dockerbuilder](https://github.com/deis/dockerbuilder)
4560

46-
!!! note
47-
The builder component does not incorporate [Config][] directly into the images it produces. A [Release][] is a pairing of an application image with application configuration maintained separately in the Deis [Database][]. Once a new [Release][] is generated, a new set of containers is deployed across the platform automatically.
61+
For Applications which contain a `Dockerfile` in the root of the repository,
62+
`builder` will instead launch the `dockerbuilder` to package your application.
63+
Instead of generating a slug, `dockerbuilder` generates a Docker image (using
64+
the underlying Docker engine). The completed image is pushed to the managed
65+
Docker registry on cluster. For more information see [using Dockerfiles][using-dockerfiles].
4866

4967
## Object Storage
5068

@@ -96,3 +114,5 @@ The router component uses [Nginx][] to route traffic to application containers.
96114
[release]: ../reference-guide/terms.md#release
97115
[router]: #router
98116
[store]: #store
117+
[using-buildpacks]: ../using-deis/using-buildpacks.md
118+
[using-dockerfiles]: ../using-deis/using-dockerfiles.md

0 commit comments

Comments
 (0)