FlexDeploy Clone Configurations

These steps can be useful if you are installing a new FlexDeploy environment, and want to load it with specific configurations from a different environment but without execution data. For this process, source environment must be same FlexDeploy version as target.

These steps are provided as guidelines and extreme care must be taken to not disrupt your production environments.

This process should only be followed to perform configuration setup for brand new installation of FlexDeploy from another installation of FlexDeploy. Purpose of this document is to only copy configuration details and not execution data. If you run this against active Production FlexDeploy, you will lose all execution details.

This process is only applied for 5.6 version of FlexDeploy. Also, source and target version of FlexDeploy must be the same.

  • Stop source FlexDeploy server in order to take cold backup.
  • Export data from source FlexDeploy database. (FF, FD)
  • Take backup of plugins folder using tar/zip commands on source FlexDeploy server. Plugins folder is under server working directory. You can determine working folder by looking at flexagon.fd.application.root system property on server command line. For example,
    • cd /flexdeploy/application/plugins
    • tar -czvf /app/backup/flexdeploy_plugins.tar.gz *
  • Stop target FlexDeploy server at this point.
  • Import data into target FlexDeploy database. (FF, FD)
  • At this point the target FlexDeploy database should be an exact copy of the source database. Often times you will not need or want any of the execution details, so let's delete execution data using following commands. Make sure to run these commands on target FlexDeploy database. Keep in mind that in this process we have not copied artifact repository as goal was to not include execution details.
    • If there are errors in delete process below you can run it multiple times. In case of issues, please contact us at http://support.flexagon.com.

      Delete execution data in target FlexDeploy database
      delete from FD.PIPELINE_STAGE_STEP_EXEC_WFRQ;
      delete from FD.PIPELINE_STAGE_EXEC_INFO;
      delete from FD.PIPELINE_STAGE_STEP_EXEC;
      delete from FD.PIPELINE_STAGE_GATE_EXEC;
      delete from FD.PIPELINE_STAGE_EXEC;
      delete from FD.PIPELINE_EXEC_METADATA_VALUE;
      delete from FD.PIPELINE_EXEC;
      delete from FD.REL_SNAPSHOT_VERSION_REQ;
      delete from FD.REL_SNAPSHOT_VERSION;
      delete from FD.REL_SNAPSHOT;
      delete from FD.REL_BUILD_MONITOR;
      delete from FD.TEST_DEF_QUALIFIER_VALUE;
      delete from FD.TEST_RESULT;
      delete from FD.TEST_DEFINITION_RUN;
      delete from FD.TEST_SET_QUALIFIER_VALUE;
      delete from FD.TEST_SET_RUN;
      delete from FD.TEST_RUN;
      delete from FD.PLUGIN_EXECUTION_OUTPUT_VALUE;
      delete from FD.PLUGIN_EXECUTION_OUTPUT;
      delete from FD.PLUGIN_EXECUTION_LOG;
      delete from FD.PACKAGE_OBJECT_EXECUTION;
      delete from FD.PLUGIN_EXECUTION;
      delete from FD.WORKFLOW_EXECUTION_DATA;
      delete from FD.PACKAGE_OBJ_CURRENT_STATUS;
      delete from FD.WORKFLOW_EXECUTION;
      delete from FD.WORKFLOW_REQUEST_INPUT;
      delete from FD.SCHEDULED_TASK;
      delete from FD.HUMAN_TASK_IDENTITY;
      delete from FD.HUMAN_TASK;
      delete from FD.FOLDER_REQUEST_CURRENT_STATE;
      delete from FD.PROJECT_WF_CURRENT_STATUS;
      delete from FD.WORKFLOW_REQUEST_INST;
      delete from FD.WORKFLOW_REQUEST_CMS_ISSUE;
      delete from FD.WORKFLOW_REQUEST;
      delete from FD.FOLDER_REQUEST;
      delete from FD.FOLDER_PROJECT_VERSION;
      delete from FD.PROJECT_VERSION_DATA_VAL;
      delete from FD.PROJECT_VERSION_DATA;
      delete from FD.PACKAGE_OBJECT;
      delete from FD.PROJECT_VERSION_ITS_ISSUE;
      delete from FD.PROJECT_VERSION; 
      delete from FD.FOLDER_VERSION;
      delete from FD.PURGE_FOLDER_VERSION_KEY;
      delete from FD.PURGE_PROJ_VERSION_KEY;
      delete from FD.WEBHOOK_MESSAGE_LOG;
      delete from FD.WEBHOOK_MESSAGE_FUNCTION;
      delete from FD.WEBHOOK_MESSAGE_DATA;
      delete from FD.WEBHOOK_MESSAGE;
      delete from FD.EVENT_MESSAGE_LOG;
      delete from FD.EVENT_MESSAGE_LISTENER;
      delete from FD.EVENT_MESSAGE_DATA;
      delete from FD.EVENT_MESSAGE;
      delete from FF.SEQUENCE_BLOCK where SEQ_NAM like 'stream-%';
      delete from FF.SEQUENCE_BLOCK where SEQ_NAM like 'package-%';
      delete from FF.SEQUENCE_BLOCK where SEQ_NAM like 'project-%';
      delete from FD.WORKFLOW_EXECUTION_RPT_DATA;
      delete from FD.WORKFLOW_EXECUTION_REPORT;
      delete from FD.FD_CHANGE_HISTORY;
      delete from FD.FD_OAUTH_TOKEN;
      commit;
  • We will not copy any Artifact Repository in this process, as we are purging the execution data.
  • Copy plugins tar/zip file to target FlexDeploy server and extract it in the plugins directory under working directory. You can determine working folder by looking at flexagon.fd.application.root system property on server command line.
    • cd /flexdeploy/application/plugins
    • rm -rf *
    • tar -xzvf /app/backup/flexdeploy_plugins.tar.gz
  • FlexDeploy can now be installed in target environment as per FlexDeploy Installation Guide, but skip database tier as it was already copied from a different environment. You could do this step before database copy as well.
  • At the end of installation process, start FlexDeploy and validate that your configurations are present in various screens.
  • As necessary upgrade details like Security realm, group, user configurations, Email server settings etc.