You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-12Lines changed: 15 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,11 @@
1
-
# cert-manager release tooling
1
+
# cert-manager Release Tooling
2
2
3
3
This repository contains release tooling for the cert-manager project.
4
4
5
+
NB: The most up-to-date release process is documented on the [cert-manager website](https://cert-manager.io/docs/contributing/release-process/).
6
+
If you're trying to do a cert-manager release, you should start on the website. The docs
7
+
here are mostly intended for people developing cert-manager tooling.
8
+
5
9
## cmrel
6
10
7
11
cmrel is the central hub for release managers interacting with the release
@@ -13,7 +17,7 @@ It has 3 primary functions:
13
17
* Listing staged releases
14
18
* Publishing a staged release
15
19
16
-
### Creating an official release
20
+
### Creating an Official Release
17
21
18
22
> *WARNING*: following these steps exactly will push out a *public facing release*!
19
23
> Please use this as an example *only*.
@@ -37,7 +41,7 @@ For example purposes, we'll:
37
41
The `cmrel` tool provides a subcommand to start this process, `cmrel stage`.
38
42
Full usage information for `cmrel stage`:
39
43
40
-
```
44
+
```text
41
45
Flags:
42
46
--branch string The git branch to build the release from. If --git-ref is not specified, the HEAD of this branch will be looked up on GitHub. (default "master")
43
47
--bucket string The name of the GCS bucket to stage the release to. (default "cert-manager-release")
@@ -61,7 +65,7 @@ to publish to.
61
65
62
66
We'll run `cmrel stage` below to start a GCB job to stage the release:
63
67
64
-
```
68
+
```console
65
69
$ cmrel stage \
66
70
--branch release-0.14 \
67
71
--release-version v0.14.0
@@ -75,7 +79,7 @@ follow along and view logs to track the build progress.
75
79
76
80
Once complete, `cmrel stage` should exit successfully.
77
81
78
-
#### Step 2 - listing staged builds
82
+
#### Step 2 - Listing Staged Builds
79
83
80
84
After a build has been staged, it's important that you verify the release has
81
85
been published to the bucket as expected.
@@ -85,7 +89,7 @@ staged to the release bucket.
85
89
86
90
Full usage information for `cmrel staged`:
87
91
88
-
```
92
+
```text
89
93
Flags:
90
94
--bucket string The name of the GCS bucket containing the staged releases. (default "cert-manager-release")
91
95
--git-ref string Optional specific git reference to list staged releases for - if specified, --release-version must also be specified.
@@ -96,7 +100,7 @@ Flags:
96
100
97
101
Running it will print a list of staged releases:
98
102
99
-
```
103
+
```console
100
104
$ cmrel staged
101
105
...
102
106
NAME VERSION DATE
@@ -110,7 +114,7 @@ that the correct revision of cert-manager has in fact been built.
110
114
Once you have found the release you wish to stage in this list, make a note of
111
115
the release's `name` and proceed to step 3!
112
116
113
-
#### Step 3 - publishing a staged release
117
+
#### Step 3 - Publishing a Staged Release
114
118
115
119
Once a release has been staged into the release bucket and we've verified it
116
120
has been built from the correct revision of cert-manager, we are now ready to
@@ -119,8 +123,7 @@ trigger the publishing stage of the release.
119
123
In this step, the staged release is fetched from Google Cloud Storage,
120
124
validated, and then pushed out to public facing locations.
@@ -140,15 +143,15 @@ If you are intending to publish to your own, private release buckets (i.e. to
140
143
test this whole workflow, or for creating internal releases) you should be sure
141
144
to set the following flags when calling `cmrel publish`:
142
145
143
-
```
146
+
```text
144
147
--published-image-repo='quay.io/mycompany' # prefix for images, e.g. 'quay.io/mycompany'
145
148
--published-helm-chart-bucket='mycompany-helm-charts' # name of the GCS bucket where the built Helm chart should be stored
146
149
--published-github-org='mycompany' # name of the GitHub org containing the repo that will be tagged at the end
147
150
```
148
151
149
152
### Development
150
153
151
-
#### Creating development builds
154
+
#### Creating Development Builds
152
155
153
156
By default the artifacts created during a release process are pushed to `cert-manager-release` bucket at `/stage/gcb/release` path.
154
157
It is also possible to create a 'development' build by skipping the `--release-version` flag on `cmrel stage` command. This will result in the build artifacts being pushed to `cert-manager-release` bucket at `/stage/gcb/devel` path.
0 commit comments