Many customers install FlexDeploy in Test (or Stage) and Production environments. The purpose of the Test environment is to try various patches or beta capabilities of plugins, or even trying some complex workflows and/or custom plugins. The FlexDeploy test environment may be restricted for use to by select members of the team. It is good idea to periodically (mostly when applying major FlexDeploy upgrade/patch) clone FlexDeploy Production configuration/execution data to FlexDeploy Test environment, which will allow you to easily validate new FlexDeploy upgrades and patches.
...
Now make various updates to make sure to limit access to the FlexDeploy Test environment and limit what FlexDeploy Test can do against various endpoints. You can customize any of these steps as per your needs. Make sure to run this on Test environment only.
Disable external realm and users, so access to FlexDeploy is very limited. Update SQL as appropriate for your setup. For example,
Inactivate Security Setup to restrict access
Code Block language sql update FD.FD_REALM set is_active='N'; update FD.FD_USER set is_active='N' where local_user='N'; -- update as appropriate commit;
Disable all endpoints, so Test FlexDeploy can not run any executions until Administrator explicitly enables some endpoints. Update base directory to not conflict in case when one of these Endpoints is enabled in Test FlexDeploy. For example,
Update Endpoints for Test environment
Code Block language sql update FD.ENDPOINT set is_active='N' where connection_type='SSH'; update FD.ENDPOINT set base_directory = base_directory || 'fdtest'; commit;
If you have workflows that perform tags on Source Control Systems, make sure to update the workflows before running builds, so you do not conflict with tags created by Production FlexDeploy. You can do this by simply running this SQL also. Adjust according to your requirements.
Update version syntax
Code Block language sql update FD.PROJECT_STREAM set version_syntax = version_syntax || ' + ".fdtest"'; commit;
Delete all Continuous Integration triggers.
Delete CI Triggers
Code Block language sql delete from FD.PROJECT_TRIGGER_CONFIG; delete from FD.PROJECT_TRIGGER; commit;
Disable production environment. so Test FlexDeploy can not run any executions even for testing against Production environment. For example,
Disable Production environment
Code Block language sql update FD.ENVIRONMENT set is_active='N' where environment_code='PROD'; -- update as appropriate commit;
Consider if you should change or remove any Outgoing webhooks that you have setup.
Now start Test FlexDeploy and validate it.
You can make necessary adjustments to Realm, User, Groups to validate setup and perform tests as necessary. This is necessary as we disabled user and realms in previous steps.
You can activate specific Endpoints that you want to be included in Test environment validations.
Update System Settings as appropriate.
Change FD_SERVER_BASE_URL.
Change SMTP_FROM_ADDRESS. This will make sure that emails are coming from different address for Test FlexDeploy.