Container Migration Guide
Container support has changed drastically in FlexDeploy 6.0.0.0. This guide will walk you through any changes you need to make to migrate your existing projects and workflows to the new version.
If you wish to reference your previous container configuration, it will be located inside of the <FlexDeployApplicationDirectory>/migration/6.0/container directory.
Migrating old project based operations
The following operations have been removed, and they will need to be migrated to the operations which do not read from the project configuration.
dockerBuildProjectImage → dockerBuild
dockerDeployProjectContainer → dockerRunContainer
Kubernetes deploy → apply
Using new FD_BUILT_DOCKER values instead of FD_PROJECT values
If you were previously using FD_PROJECT_DOCKER_IMAGE_NAME in a Kubernetes manifest or helm value you will need to use one or more of the following variables instead:
FD_BUILT_DOCKER_IMAGE – The built Docker image, including repository and tag
FD_BUILT_DOCKER_IMAGE_NAME – The built Docker image name (No tag)
FD_BUILT_DOCKER_IMAGE_TAG – The built Docker tag
FD_BUILT_DOCKER_LINK – The link to the built Docker image when pushed to a repository
FD_BUILT_DOCKER_IMAGE_ID – The id of the created image
For example if you had the following manifest previously
It would now look like this:
The Kubernetes apply operation now supports property replacement inside of it’s manifest text input. This means you can use these values there as well.
Setting properties
Now that your workflows are all set, head over to your project. You will need to set the 2 project properties FDDKR_IMAGE_NAME and FDDKR_IMAGE_TAG. These will decide the image name and tag used when building an image.
Additionally several new variables have been made available for use in project properties to ease this transition. The following variables were added to properties:
FD_PROJECT_VERSION – Version of the project, as seen on the project execution screen
FDBLD_BRANCH_NAME – Name of the branch as configured in the source control section
FDBLD_BRANCH_ATTRIBUTE1 (and 2 and 3) – Branch attributes as configured in the source control section
These new variables allow for many scenarios that were previously possible, including having different tags for every branch. For example something like this:
FDBLD_BRANCH_NAME + "-" + FD_PROJECT_VERSION
Docker scanning and Kubernetes monitoring
Automatic Docker scanning and Kubernetes monitoring have been removed. Docker scanning can still be achieved using the Anchore plugin.
Deployment Strategies
Deployment strategies for kubernetes/helm have also been removed.
- style