Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page provides instructions for manually upgrading a FlexDeploy installation to the latest version.

Upgrade Instructions

Step 1. Stop the Tomcat server. Use shutdown.sh on Linux and shutdown.bat on WindowsFlexDeploy docker install to use newer version of FlexDeploy Docker image. You will need to download appropriate version of FlexDeploy Tomcat distribution for database scripts and plugins. 

Info

It is only recommended to use the manual instructions if you are using Kubernetes or have a more complicated configuration. For most people we recommend using the automated installer.

Note

Beginning with FlexDeploy 6.0.0.6 the mount point from the container side has changed to /dockervolume. Previously it was /home/oracle now it is /dockervolume. This will only affect the run command, make sure you use /dockervolume.

Step 1. Stop the container

Stop the Docker container using name. docker stop <name>.

Note

If you are using Kubernetes you’ll need to translate any docker commands into the equivalent Kubernetes.

...

Step 2. Backup the FlexDeploy schemas and Artifact Repository.

...

For back-out purposes, it is highly recommended that a database backup of the database be taken using standard tools like RMAN for Oracle. Another option would be to export the FD, FD_ADMIN, and FF schemas using data pump. The schemas can be exported using the following data pump command for Oracle as shown below. Follow standard procedures for PostgreSQL and MySQL for database backup.

...

titleRecommendation for Oracle database backup

...

It is recommended that a backup of the artifact repository file system be taken in case a back-out is required. The location of the artifact repository can be identified by looking at value of -Dflexagon.fd.repository.root in setenv.sh or setenv.bat file. This file will be in <FlexDeploy Home>/apache-tomcat-flexdeploy/bin/. Standard file backup procedures can be followed. Optionally, the following command (unix only) can be used to create a tar file backup of the entire directory.

Tip
titleBackup Artifact Repository
cd <artifact repository location>
tar –cvzf artifact.tar.gz <artifact repository location>

...

Step 4. From the FlexDeploy Tomcat distribution, copy /apache-tomcat-flexdeploy/webapps/flexdeploy.war into <FlexDeploy Home>/apache-tomcat-flexdeploy/webapps (overwrite existing file). If you want to take backup of existing file, please copy it outside of FlexDeploy installation folder to avoid confusion later. If you keep copy of older war in webapps folder, then two applications will start and cause issues as well.

Step 5. Review <FlexDeploy Home>/apache-tomcat-flexdeploy/conf/context.xml changes as per FlexDeploy 5.2 Release Notes - See Platform Recommendations. Alternatively, you can compare your context.xml file with FlexDeploy Tomcat distribution (/apache-tomcat-flexdeploy/conf/context.xml) and make changes as necessary.

Step 6. From the FlexDeploy Tomcat distribution, copy /apache-tomcat-flexdeploy/lib/FlexDeployAPI.jar into <FlexDeploy Home>/apache-tomcat-flexdeploy/lib (overwrite existing file if present). If you want to take backup of existing file, please copy it outside of FlexDeploy installation folder to avoid confusion later

Step 7. Copy plugins from download zip for auto upload.

...

Step 8 . Start tomcat by running the following script

<FlexDeploy Home>/apache-tomcat-flexdeploy/bin/startup.sh (startup.bat on Windows)

...

Insert excerpt
Manual Upgrade Instructions (Windows or edge cases)
Manual Upgrade Instructions (Windows or edge cases)
nameBackup current implementation
nopaneltrue

File System backup

It is recommended that a backup of the container volume mounted to /dockervolume be created in case a back out is needed.

...

Step 3. Upgrade the FlexDeploy schemas

See details in Upgrading FlexDeploy Schemas.

...

Step 4. Copy plugins from download zip for auto upload.

FlexDeploy download zip contains plugin jar files. You just need to copy plugin jars from download zip to plugins folder in your installation (details explained below), and all plugins will be automatically uploaded and activated on server startup.

  1. Plugin files to copy are in the unzipped Tomcat Complete file.

  2. Copy the plugins into the <Mounted Volume>/Plugins directory.

...

Step 5 . Pull and start new docker image for FlexDeploy.

Note

If using Kubernetes you will instead need to modify your manifest to use the newer version, and to add any new required environment variables.

Code Block
docker pull flexdeploy/fd_tcat:VERSION

User same values as used for previous version of FlexDeploy when starting new version of image, other than the version. Here is a refresher of what the values are:

  1. p - in this example 8000 is the port which FlexDeploy will be accessed on mapping to port 8080 in the container

  2. FLEX_DB_URL - jdbc URL for accessing the database. See below for syntax

  3. FD_ADMIN_PWD - Password for the fdadmin user in the database

  4. INFLUX_DB_USER - Username for the built in influxdb. Not used in version 6.0.0.6 and later.

  5. INFLUX_DB_PASSWORD - Password for the built in influxdb. Username and password are only used upon first initialization. After that token is used to connect to the database. Not used in version 6.0.0.6 and later.

  6. INFLUX_DB_TOKEN - Token used to connect to the built in influxdb. Not used in version 6.0.0.6 and later.

  7. TZ - Time zone for the container. Given example is America/Chicago.

  8. dbtype - if you are using postgres or oracle database.

  9. v - This will set where your application, repository, vsm and logs folders will go on the docker host. Everything before the colon is on the local machine, after is inside the container. Leave that as /dockervolume

  10. Last is the image which will be flexdeploy/fd_tcat: and the version you want to run.

Info

Beginning with FlexDeploy 6.0.0.6 INFLUX_DB_USER, INFLUX_DB_PASSWORD, and INFLUX_DB_TOKEN are no longer required. They will be defaulted, or generated. Prior to that you will need to include them.

Note

If using version 6.0.0.0 through 6.0.0.5 mount the volume using /home/oracle instead of /dockervolume

Code Block
docker run --name flexdeploy -p 8000:8080 -e FLEX_DB_URL="jdbc:oracle:thin:@URL:PORT:xe" -e FD_ADMIN_PWD=DATABASEPASSWORD -e TZ=America/Chicago -e dbtype=oracle|postgres -v /scratch/flexdeploy:/dockervolume flexdeploy/fd_tcat:VERSION
Tip

Example JDBC URL (FLEX_DB_URL)

  • Oracle

    • Localhost XE connection will look like this. jdbc:oracle:thin:@localhost:1521:XE

    • SID based JDBC URL Syntax - jdbc:oracle:thin:@HOSTNAME:PORT:SID

    • Service Name based JDBC URL Syntax - jdbc:oracle:thin:@//HOSTNAME:PORT/SERVICENAME

  • PostgreSQL

...

Step 6. Launch FlexDeploy in your browser

http://<hostname>:<port>/flexdeploy

Step 10. There is no need to activate plugins manually. FlexDeploy will automatically upload and activate new versions of plugins once they are copied to plugins folder. You will notice that plugins that you copied in Step 8 will eventually be uploaded automatically and folder will not have any jar files left. You can also look at Administration - Plugins in UI and see newer versions of plugins.

...