|
| 1 | +[](https://shields.io/) |
| 2 | +[](https://shields.io/) |
| 3 | + |
| 4 | +[](https://github.com/devwithkrishna/jenkins-docker-slave-images/actions/workflows/build-publish-jdk11-dind-image.yaml) |
| 5 | +[](https://github.com/devwithkrishna/jenkins-docker-slave-images/actions/workflows/build-publish-jdk11-tf-depoy-image.yaml) |
| 6 | + |
| 7 | +[](https://github.com/devwithkrishna/jenkins-docker-slave-images/actions/workflows/build-publish-jdk17-dind-image.yaml) |
| 8 | +[](https://github.com/devwithkrishna/jenkins-docker-slave-images/actions/workflows/build-publish-jdk17-tf-depoy-image.yaml) |
| 9 | + |
| 10 | +[](https://github.com/devwithkrishna/jenkins-docker-slave-images/actions/workflows/build-publish-jdk21-dind-image.yaml) |
| 11 | +[](https://github.com/devwithkrishna/jenkins-docker-slave-images/actions/workflows/build-publish-jdk21-tf-depoy-image.yaml) |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | +# jenkins-docker-slave-images |
| 19 | +These are docker images created to use as a jenkins slave |
| 20 | + |
| 21 | +# How the Build flow works |
| 22 | + |
| 23 | +```shell |
| 24 | +├───.github |
| 25 | +│ └───workflows |
| 26 | +│ ├───build-publish-jdk11-dind-image.yaml |
| 27 | +│ ├───build-publish-jdk11-tf-deploy-image.yaml |
| 28 | +│ ├───build-publish-jdk17-dind-image.yaml |
| 29 | +│ ├───build-publish-jdk17-tf-deploy-image.yaml |
| 30 | +│ ├───build-publish-jdk21-dind-image.yaml |
| 31 | +│ └───build-publish-jdk21-tf-deploy-image.yaml |
| 32 | +├───jdk-11 |
| 33 | +│ ├───dind |
| 34 | +│ └───tf-deploy |
| 35 | +├───jdk-17 |
| 36 | +│ ├───dind |
| 37 | +│ └───tf-deploy |
| 38 | +└───jdk-21 |
| 39 | + ├───dind |
| 40 | + └───tf-deploy |
| 41 | +``` |
| 42 | + |
| 43 | +* Build and push to Dockerhub will be taken care by ``docker/build-push-action`` |
| 44 | + |
| 45 | +* Authentication to Dockerhub will be taken care by ``docker/login-action`` |
| 46 | + |
| 47 | +* Image scanning is carried by using [trivy](https://github.com/aquasecurity/trivy) |
| 48 | + |
| 49 | +* The builds are scheduled which means they will be triggered at the configured time. |
| 50 | + |
| 51 | +* Each time the build is triggered, 2 versions of image are pushed (also multi arch images) |
| 52 | + |
| 53 | +* One image version will be latest as usual and other will be in a format `<image name: <software component 1 short name>_<softwarefersion>_<software component 1 short name>_<softwarefersion>>` |
| 54 | + |
| 55 | + * Eg: dockerofkrishnadhas/jenkins-slave-tf-deploy-jdk17-image:tf_v1.9.1_az_2.61.0 |
| 56 | + |
| 57 | + * This means `dockerofkrishnadhas/jenkins-slave-tf-deploy-jdk17-image` has `terraform 1.9.1` version and `azure cli 2.61.0` version |
| 58 | + |
| 59 | +* These are set as cron to be executed monthly once on 17th of every month |
| 60 | + |
| 61 | +* get_software_versions.sh ➡️ This script executes and get the live software versions available in image and passes them as an environment variable in github workflow. |
0 commit comments