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: docs/design-documents/docker_management/README.md
+5-7Lines changed: 5 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
4
4
### Overview and background
5
5
6
-
The docker image mbed-os-env bundles all the necessary tools to provide a minimal environment to build and test mbed-os applications. This docker image shall be used in Continuous Integration pipelines or in other use cases where mbed-os tools and dependencies are required. This document explains versioning strategy of the docker image and github action workflows that creates these docker images.
6
+
The docker image mbed-os-env bundles all the necessary tools to provide a minimal environment to build and test mbed-os applications. This docker image shall be used in Continuous Integration pipelines or in other use cases where mbed-os tools and dependencies are required. This document explains versioning strategy of the docker image and GitHub action workflows that creates these docker images.
7
7
8
8
9
9
### Types of docker images
@@ -106,15 +106,13 @@ There are some details worth mentioning though.
106
106
107
107
docker buildx command is used for creating multi architecture docker image. To build docker image using buildx, one needs to push the image to a remote repository while building it. Since, we need to "test" before release, the resulting images are pushed to a temporary docker repository just after building.
108
108
109
-
github container registry doesn't implement yet all the docker manifest APIs. Hence, a few features like deleting tag from an image is not available yet. Once these are implemented, we may remove temporary repository and add temporary tags to the image and delete the temporary tags after workflow.
109
+
GitHub container registry doesn't implement yet all the docker manifest APIs. Hence, a few features like deleting tag from an image is not available yet. Once these are implemented, we may remove temporary repository and add temporary tags to the image and delete the temporary tags after workflow.
110
110
111
111
**Test**
112
-
Once temporary images are built, we need to verify whether image built is same as the image already available as our intended docker image version. This is achieved by comparing the docker digest of two images. Obviously, if digest is same, there is no need to make another release as docker image available as released version is already up to date.
113
-
114
-
If the digest is different, (means, new version of docker image is built), test.sh script takes care of all the testing.
112
+
After the temporary docker image is built, GitHub Actions tests the image prior to deploying the image to the production Docker repository. Please refer to the `test-container` job in the workflow for details on the test plan.
115
113
116
114
**Deploy**
117
-
In Deploy job, depending on the result of test job, temporary images are moved to production repository.
115
+
In `Deploy` job, depending on the result of test job, temporary images are moved to production repository.
118
116
119
117
### Docker repository
120
118
GitHub provides free docker image storage for public repositories in GitHub packages. The workflows make use of {{ secrets.GITHUB_TOKEN }} https://docs.github.com/en/actions/reference/authentication-in-a-workflow
@@ -127,7 +125,7 @@ There are two repositories being created or used for managing docker image
127
125
128
126
**mbed-os-env** This is the public repository user can pull the images from.
129
127
130
-
**mbed-os-env-tmp** This is a private repository created for temporary management of docker images while docker images are being tested. This is a staging area. Unfortunately, github container registry do no support renaming docker tags, hence the need for a temporary repository.
128
+
**mbed-os-env-tmp** This is a private repository created for temporary management of docker images while docker images are being tested. This is a staging area. Unfortunately, GitHub container registry do no support renaming docker tags, hence the need for a temporary repository.
0 commit comments