Skip to content

Commit 57280cb

Browse files
author
Aaron Schlesinger
committed
doc(releasing.md): filling out more releasing instructions
1 parent c5b7b3b commit 57280cb

1 file changed

Lines changed: 75 additions & 2 deletions

File tree

src/contributing/releasing.md

Lines changed: 75 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,61 @@
1-
# Releasing a New Deis Version
1+
# Releasing a new Deis version
22

33
This document describes how to release a new Deis version. It's targetted toward the Deis core
44
maintainers.
55

6-
# Manual Testing
6+
The below sections present a step by step guide to releasing a new Deis Workflow. Throughout all
7+
examples, we'll be assuming we're going to release `$DEIS_RELEASE`. Before you begin, set this
8+
environment variable to the correct version that you intend to release (for example, `2.0.0-beta2`).
9+
10+
# What's a release?
11+
12+
A release consists of the following artifacts:
13+
14+
1. Docker images with `$DEIS_RELEASE` tags for each Deis Workflow component:
15+
- [builder](https://github.com/deis/builder)
16+
- [controller](https://github.com/deis/controller)
17+
- [dockerbuilder](https://github.com/deis/dockerbuilder)
18+
- [fluentd](https://github.com/deis/fluentd)
19+
- [logger](https://github.com/deis/logger)
20+
- [minio](https://github.com/deis/minio)
21+
- [postgres](https://github.com/deis/postgres)
22+
- [registry](https://github.com/deis/registry)
23+
- [router](https://github.com/deis/router)
24+
- [slugbuilder](https://github.com/deis/slugbuilder)
25+
- [slugrunner](https://github.com/deis/slugrunner)
26+
- [workflow](https://github.com/deis/worflow)
27+
- [workflow-e2e](https://github.com/deis/workflow-e2e)
28+
- [workflow-manager](https://github.com/deis/workflow-manager) (v2.0.0-beta1-8-g9ba6db7)
29+
2. A new [Helm chart for Deis](https://github.com/deis/charts) that references all of the new
30+
images referenced above. For example, if `$DEIS_RELEASE` is `2.0.0-beta2`, the new chart would
31+
be in a new directory called `workflow-beta2`.
32+
33+
# Step 1: Get the status of all components
34+
35+
First, we'll need to get the statuses of all repositories that house the components we're
36+
interested in upgrading. We'll use
37+
[sgoings/deis-workflow-group](https://github.com/sgoings/deis-workflow-group) to do that in one
38+
place. That repository is a group of git submodules with all of the applicable repositories in it,
39+
so that we can manage everything from one place.
40+
41+
Clone that repository to any location on your local machine, and make sure to update all submodules:
42+
43+
```console
44+
git clone https://github.com/sgoings/deis-workflow-group
45+
cd deis-workflow-group
46+
make git-update
47+
```
48+
49+
# Step 2: Create a new Helm chart
50+
51+
TODO
52+
53+
- Copy from old chart
54+
- Run `git submodule update` to get git SHAs
55+
- Update `generate_params.toml`
56+
- Branch and PR your new chart (the branch should be called `release-$DEIS_RELEASE`)
57+
58+
# Step 3: Manual Testing
759

860
After the chart is created with the immutable Docker image tags that represent the final images
961
(i.e. the ones that will be re-tagged to the immutable release tag, such as `2.0.0-beta2`), it
@@ -19,3 +71,24 @@ Object Storage / Kubernetes Install | Kube-Solo | Google Container Engine | AWS
1971
Default (Minio) |
2072
Google Cloud Storage |
2173
Amazon S3 |
74+
75+
# Step 4: Tag and push Docker images
76+
77+
TODO
78+
79+
Tag docker images for each component, from the Docker tags that you set in step 2 to ``$DEIS_RELEASE`
80+
81+
# Step 5: Update changelogs
82+
83+
TODO
84+
85+
Update changelogs for each repository
86+
87+
# Step 6: Tag and push git repos
88+
89+
Inside the deis-workflow-group directory, run:
90+
91+
```console
92+
TAG=$DEIS_RELEASE TAG_MESSAGE="releasing workflow $DEIS_RELEASE" make git-tag
93+
make git-tag-push
94+
```

0 commit comments

Comments
 (0)