Custom build and runtime images
CodeNOW offers you to use different build and runtime images than those defined in the CodeNOW scaffolders by default.
If you want to use a docker image that is not available on Docker Hub, you need to upload the docker image to CodeNOW, to learn how to do so check out this custom docker image tutorial.
What is the difference between build and runtime images?
Well, the difference is in the use cases and the tools necessary for each of these use cases. For example, you have a Java application and for building your application you use Maven. Additionally, your application might have an API which you want to test with Postman, meaning both of these tools must be included in the build image too.
However, the two previously mentioned tools are useless in the runtime image as you don't need them anymore. Since one of the main concepts of docker containers is to keep them as minimalistic as possible, we should include only tools that are necessary for runtime, which in this case means having different build and runtime images.
How to use custom images?
Your specified build image will be used in the build
and unit-test
tasks.
If you want to modify tasks that are done during the build phase, check this tutorial about custom CI pipelines.
- Go to the Continuous Integration section in the detail of your component and change the images.