Most customers are installing FlexDeploy in Test 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 or patches.
This process should only be followed to perform a clone of FlexDeploy Production FlexDeploy to the Test environment. Make sure that Test environment is restricted for use by very few members of your team to avoid confusion, as the purpose of the Test environment is only for validating FlexDeploy itself and is not used for actual build/deploy activities. You will do some build/deploy activities, but strictly for validation purposes.
This process only applies to the 4.0, 4.0.x version of FlexDeploy. Source and target version of FlexDeploy must be same.
- Export data from Production FlexDeploy database. You will be prompted to enter password for system user.
- This step will create fd_bkup.dmp file with all details from FD,FF and FD_ADMIN schemas. File should be in data pump directory, for example - C:\oraclexe\app\oracle\admin\XE\dpdump.
- If your database is only used for FlexDeploy application, you may be able to perform backup and recovery operations using other Database tools.
expdp system directory=DATA_PUMP_DIR dumpfile=fd_bkup.dmp schemas=FD,FF,FD_ADMIN
- Take backup of artifact repository folder using tar/zip commands on Production FlexDeploy database. For example,
- cd /flexdeploy/artifacts
- tar -czvf /app/backup/flexdeploy_artifacts_prod.tar.gz *
- Make sure Test FlexDeploy is now stopped for import process.
- Copy fd_bkup.dmp file on to Test FlexDeploy database server in to data pump directory, for example - C:\oraclexe\app\oracle\admin\XE\dpdump.
- Import data in to target FlexDeploy database. Make sure to run this on Test environment only.
- You will be prompted to enter password for system user. You must delete FD,FF,FD_ADMIN users from Test environment before starting import process. If necessary take backup of Test FlexDeploy database prior to starting this process.
- Make sure there are no errors in import process. If there are errors, make corrections appropriately and restart import process.
impdp system directory=DATA_PUMP_DIR dumpfile=fd_bkup.dmp schemas=FD,FF,FD_ADMIN
- At this point, the Test FlexDeploy database should be copy of Production database.
- 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.
Disable external realm and users, so access to FlexDeploy is very limited. Update SQL as appropriate for your setup. For example,
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. For example,
update fd.endpoint set is_active='N' where connection_type='SSH'; commit;
Disable production environment. so Test FlexDeploy can not run any executions even for testing against Production environment. For example,
update fd.environment set is_active='N' where environment_code='PROD'; -- update as appropriate commit;
- Copy artifacts zip file to Test FlexDeploy server and extract it in the artifact repository folder. Make sure to run this on Test environment only.
- cd /flexdeploy/artifacts
- tar -czvf /app/backup/flexdeploy_artifacts_test.tar.gz *
- rm -rf *
- tar -xzvf /app/backup/flexdeploy_artifacts_prod.tar.gz
- Now FlexDeploy artifact repository is also copied.
- Now you can 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.
- 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.