This process is useful in many situations, for example, Initial proof of concept is completed and production installation needs to be done on different Server and Database.
These steps are provided as guidelines and extreme care must be taken during such migrations. This process is set up for Tomcat but variations of this process can be applied to WebLogic as well.
Make sure the source environment is Stopped before proceeding so that we have an accurate copy.
Export-Import Database
Export data from source FlexDeploy database.
Import data into target FlexDeploy database.
Export Metrics Data
Startup InfluxDB so that the time series data can be exported from the source database.
-- Start up InfluxDB.You can determine working folder by looking at flexagon.fd.application.root system property cd /flexdeploy/apache-tomcat-flexdeploy/bin ./influxd-start.sh
Take a backup of the data present in the source Influx database.
-- Create a backup of all the data and resources in the source InfluxDB cd /flexdeploy/influxdb mkdir backup ./influx backup ./backup/ tar -czvf /app/backup/flexdeploy_influx_data.tar.gz ./backup/* rm -rf ./backup
Copy tar files to the target FlexDeploy server and extract it in the same location as the source.
cd /flexdeploy/influxdb mkdir restore tar -xzvf /app/backup/flexdeploy_influx_data.tar.gz -C ./restore
Stop the Influx database running on the source server.
-- Stop InfluxDB. You can determine working folder by looking at flexagon.fd.application.root system property cd /flexdeploy/apache-tomcat-flexdeploy/bin ./influxd-stop.sh
Copy Artifact Repository, Plugins Folder, Application Binaries
Goal is to just copy the installation and artifact repository to target server. If artifacts and install is done under one common folder, then you can just create one tar for entire set of folders.
Create tar/zip archive of artifact repository, application binaries, plugins folder etc. on Source server. If you have all folders under one root folder which can be copied then archive entire folder that contains artifact repository, application binaries, plugins folder.
-- tar/zip artifacts files, You can determine artifacts repository folder by looking at flexagon.fd.repository.root system property on server command line cd /flexdeploy/artifacts tar -czvf /app/backup/flexdeploy_artifacts.tar.gz * -- tar/zip plugins folder, You can determine working folder by looking at flexagon.fd.application.root system property on server command line cd /flexdeploy/application/plugins tar -czvf /app/backup/flexdeploy_plugins.tar.gz * -- tar/zip influxdb folder, You can determine working folder by looking at flexagon.fd.application.root system property on server command line cd /flexdeploy/influxdb tar -czvf /app/backup/flexdeploy_influx.tar.gz *
Copy tar files to target FlexDeploy server and extract it in same location as source. If location is different, some files may need adjustment. (For example, setenv.sh, config.yaml)
-- extract artifacts files, You can determine artifacts repository folder by looking at flexagon.fd.repository.root system property on server command line cd /flexdeploy/artifacts rm -rf * tar -xzvf /app/backup/flexdeploy_artifacts_prod.tar.gz -- extract plugins folder, 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 -- extract plugins folder, You can determine working folder by looking at flexagon.fd.application.root system property on server command line cd /flexdeploy/influxdb rm -rf * tar -xzvf /app/backup/flexdeploy_influx.tar.gz
Import Metrics Data
Start up the Influx database so that the time series data can be imported into the target.
Initialize InfluxDB with org on the target server.
-- Initialize InfluxDB org. You can determine working folder by looking at flexagon.fd.application.root system property on server command line cd /flexdeploy/influxdb -- Modify the values in the command below to what you used in the installer config in the source server ./influx setup --bucket flexbucket --token <token> --org flexdeploy --username=flexuser --password=<password> --host=http://localhost:8086 --force
Import data backed up from the source to the target Influx database.
-- Import all the data from the source InfluxDB. You can determine working folder by looking at flexagon.fd.application.root system property on server command line cd /flexdeploy/influxdb ./influx restore --full ./restore/ rm -rf ./restore
Stop the Influx database running on the target server.
Verify that the config.yaml in /flexdeploy/influxdb/config directory reference to a valid path for the bolt-path, engine-path and the sqlite-path attributes
Final configuration and start server
Do not start yet as copied installation is still pointing to source database.
Update context.xml with target database URL and password for fd_admin user.
Now start target FlexDeploy and validate it.
Update System Settings as appropriate.
Change FD_SERVER_BASE_URL.
Change SMTP_FROM_ADDRESS. This will make sure that emails are coming from different addresses for Test FlexDeploy.