FlexDeploy is an enterprise DevOps platform with many out-of-the-box plugins and integrations. Most common implementations involve a central FlexDeploy server to support build, deploy, and release management executions for all environments. This is facilitated by secure network connectivity (SSH, http, etc.) to all environments. FlexDeploy also integrates with other DevOps tools like Source Control, Issue Tracking, Change Management, etc.
We have seen specific architectures where strict network isolation is adopted mainly for security reasons. In such configuration, if FlexDeploy is installed on one network, it cannot access Endpoints on another isolated network. Additionally, at times, an isolated network (mostly production) is restricted to specific users and/or tools. This means that we need multiple installations of FlexDeploy on each isolated network. But we still want to implement build once, deploy many for all environments, and provide same audit and reporting details.
FlexDeploy Supports Isolated Network Architectures
FlexDeploy supports such architectures. Let’s see how this is accomplished at a high level.
- FlexDeploy is installed on each isolated network.
- Build and deploy to a set of lower environments on the source FlexDeploy server.
- Configuration and execution details are exported in zip format and copied to one or more target FlexDeploy servers.
- Deployment to additional environments is completed on target FlexDeploy using previously build artifacts.
Now let’s take a look in more detail. Most configurations and builds are done on the source server and extracted as zip file. Configurations necessary for environments managed by FlexDeploy installation are performed locally.
Export from the source FlexDeploy
There are few options to export, but the most common use is to export a release snapshot and import it on the target. In this example, the source server will manage the Development environment where developers are actively working, and the target server will manage QA and Production environments. We will export the following snapshot from the Development environment.
The snapshot archive can be downloaded from the snapshot details page.
Copy archive file(s) to target FlexDeploy
Let’s copy this zip file to the target server, keep in mind that no configurations are necessary on the target server at this point. We will use WinSCP to copy this file, but any copy tool can be utilized here.
The target server will automatically process export archives and import them appropriately. At this point, you will need to create and associate a pipeline with the newly created release and start it. We require pipelines to be managed individually in each FlexDeploy as they manage different environments. Once that is completed, the import will finish and the pipeline will be executed for this snapshot. In the image below we can see the same snapshot in the target server as well.
View audit reports in each FlexDeploy
Let’s look at the reports. First, the source environment report below shows build and deployment to the Development environment. The package version is 1.0.19.
Now look at the target server’s report. You can see the deployment of 1.0.19 version to the QA and Production environment. In addition, you can see the build of that version as well. This allows us to use the same artifacts across the isolated architecture setup and also allows for easier comparison.
Using this basic process we can integrate with other DevOps tools as necessary. For more details, see FlexDeploy for Isolated Networks Architecture.