FlexDeploy can be configured to automatically build a Docker image as a part of the building process.
This configuration is to be done for each stream providing a groovy script for Docker Image name and specifying if the image should be automatically built and pushed at the end of the build request. If it is not specified to build the image automatically, the image can still be built by a workflow step invoking the dockerBuildProjectImage operation of the FlexDeployDockerPlugin. Either way, the build workflow execution will store a reference to the built Docker Image which is available on the Artifacts tab of the workflow execution screen.
The build instance must be a docker host to use this feature, and the dockerBuildProjectImage operation of the FlexDeployDockerPlugin must be associated to the build instance.
Optionally, a path to Dockerfile can be provided. If it is empty, a default Dockerfile will be used from the root of the source folder. A Dockerfile must be present to build an image.As of FlexDeploy 6.0.0.0 the way Containers are configured has changed completely. There is no longer specific pages for Docker and Kubernetes configurations on the project. Docker, Kubernetes and Helm plugins have now been updated to use project properties and plugin inputs putting them in line with other plugins. This makes configuration a bit less confusing, if you are already familiar with FlexDeploy concepts.
Additionally a container blueprint has been created to make the process even simpler. It is highly recommended you use the container blueprint. For more information on blueprints check out the blueprints page.
Info |
---|
See the migration guide for steps on migrating. |
Image Settings/Build
Image name (including repository) and image tag are now configurable as project properties. Several new variables have also become available with project properties, including the stream name, stream attributes, and project version. Most of the functionality previously available should be achievable with these additions. See the Docker plugin guide for details.
Container Settings/Deploy
After building the image there are 3 options to consider for deployment. Deploying via kubectl or Helm to a Kubernetes node. Or running the docker container directly. Check out the plugin guides for more info on how to use these:
Image Scanning
FlexDeploy supports local image scanning out of the box with the Anchore plugin. The only requirement is docker being installed on your build server. See the Anchore plugin guide for configuration details.
Info |
---|
Scans can also be executed as a Pre-deploy Workflow. This has the added benefit of creating approval tasks from the scan results. |
Container Status/Monitoring
FlexDeploy no longer has the ability to monitor the status of containers as of FlexDeploy 6.0.0.0