Skip to content

Commit 50bf452

Browse files
Add the Docker Hub publishing instructions to release doc (#1030)
CXX-2733 --------- Co-authored-by: Kevin Albertson <[email protected]>
1 parent cb9dc3e commit 50bf452

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

etc/releasing.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,60 @@ The new branch should be continuously tested on Evergreen. Create a BUILD ticket
268268
to request the build team create new Evergreen project to track the
269269
`releases/vx.y` branch (see BUILD-5666 for an example).
270270

271+
## Docker Image Build and Publish
272+
273+
We maintain the docker images found in the
274+
[mongodb/mongo-cxx-driver](https://hub.docker.com/r/mongodb/mongo-cxx-driver/)
275+
Docker Hub repo.
276+
277+
To publish a new image here, you will need the password for the following
278+
service account: `svcmongodbcxxdriverdockerbo219`. The team lead can share
279+
this password with you as needed.
280+
281+
First, in `mongo-cxx-driver/extras/docker/generate.py` bump the following
282+
version numbers as appropriate:
283+
- MONGOCXX_VERSION
284+
- MONGOC_VERSION
285+
- MONGOCRYPT_VERSION
286+
287+
Next, build the image. Prefer doing a no-cache-build with a clean docker cache.
288+
289+
> As of now, company policy only allows for redhat-ubi images, so only build and
290+
> push the redhat-ubi based image.
291+
292+
```
293+
$ yes | docker system prune -a
294+
$ cd mongo-cxx-driver/extras/docker/redhat-ubi-9.2
295+
$ make nocachebuild
296+
```
297+
298+
Then, test that the image works as expected:
299+
```
300+
$ cd redhat-ubi-9.2/
301+
$ make test
302+
```
303+
304+
If the test passes, you will see the following output with the version number
305+
of the driver that you are currently releasing:
306+
```
307+
mongo-cxx-driver version: 3.8.0
308+
THE redhat-ubi-9.2 IMAGE WORKS!
309+
```
310+
311+
If the test passes, then check in the bumped version numbers, and get it merged
312+
into master.
313+
314+
Once the Evergreen docker tests pass, login to the service account:
315+
```
316+
$ docker login --username svcmongodbcxxdriverdockerbo219
317+
Password: <INSERT PASSWORD HERE>
318+
```
319+
320+
Finally, push the image:
321+
```
322+
$ docker push mongodb/mongo-cxx-driver:<VERSION NUMBER>-redhat-ubi-9.2
323+
```
324+
271325
## Handle Linux Distribution Packages
272326

273327
Note: updates to these instructions should be synced to the corresponding C

0 commit comments

Comments
 (0)