This page provides instructions for manually upgrading a FlexDeploy 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.
If you aren’t using Kubernetes or have a very unique configuration we recommend using the automated installer.
Step 1. Stop the container
Stop the Docker container using name. docker stop <name>.
If you are using Kubernetes you’ll need to translate these docker commands into the equivalent Kubernetes.
Step 2. Backup the FlexDeploy schemas and Artifact Repository.
Step 3. Upgrade the FlexDeploy schemas
See details in Upgrading FlexDeploy Schemas.
Step 4. Copy plugins from download zip for auto upload. This would be inside of volume that you had configured during installation process.
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 the server startup.
Plugin files to copy are in /application/plugins in the downloaded Tomcat Complete zip fie.
Let's determine where to copy files in your installation now. Locate flexagon.fd.install.root folder for your FlexDeploy installation, which is FlexDeploy working directory. This is specified on the Java command line. For example, -Dflexagon.fd.install.root=/u01/flexdeploy/application.
You can look for this information in setenvoverride.bat or setenvoverride.sh file depending whether using Windows or Unix.
Create plugins folder if it does not exist under flexagon.fd.install.root folder. Copy files from download zip (#1 above) to this plugins folder.
Step 5 . Pull and start new docker image for FlexDeploy.
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:
p
- in this example 8000 is the port which FlexDeploy will be accessed on mapping to port 8080 in the containerFLEX_DB_URL
- jdbc URL for accessing the database. See below for syntaxFD_ADMIN_PWD
- Password for the fdadmin user in the databaseTZ
- Time zone for the container. Given example is America/Chicago.dbtype
- if you are using postgres or oracle database.INFLUX_DB_USER
- Username for the built in influxdbINFLUX_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.INFLUX_DB_TOKEN
- Token used to connect to the built in influxdb.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 /home/oracleLast is the image which will be flexdeploy/fd_tcat: and the version you want to run.
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 -e INFLUX_DB_USER=flexdeploy -e INFLUX_DB_PASSWORD=INFLUXDBPASSWORD -e INFLUX_DB_TOKEN=INFLXUDBTOKENHERE -v /scratch/DockerVolume/flexdeploy:/home/oracle flexdeploy/fd_tcat:VERSION
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
Syntax - jdbc:postgresql://hostname:port/flexdeploy
Example - jdbc:postgresql://dkrlp01:5432/flexdeploy
Step 6. Launch FlexDeploy in your browser - http://<hostname>:<port>/flexdeploy
Step 7. 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.