General Upgrade Guide
General Upgrade Guide
Preparing to Upgrade your Server
Note
Before performing an upgrade, it is highly recommend to stop all cluster members and do the following steps, one cluster member, at a time.
Download the latest Rundeck version .war from Process Automation Downloads (requires license) or Rundeck OSS Downloads
Stop Rundeck (stop service or kill the process)
Windows Edit the file start_rundeck.bat located on your
$RDECK_BASE
dir and change the name of your rundeck.war file with the name of the downloaded file, e.g. "rundeckpro-enterprise-4.17.4-20231216.war"
java %RDECK_CLI_OPTS% %RDECK_SSL_OPTS% -jar rundeckpro-enterprise-4.10.2-20201111.war --skipinstall -d >> %CURDIR%\var\logs\service.log 2>&1
Backup your
$RDECK_BASE\libext
folder (in case you have any custom plugins)Backup both folders,
$RDECK_BASE/server/config
and$RDECK_BASE/etc
, just in caseDelete these files and dirs:
$RDECK_BASE/libext/ $RDECK_BASE/tools/ $RDECK_BASE/server/lib/ $RDECK_BASE/server/sbin/ $RDECK_BASE/var/.firstLogin $RDECK_BASE/var/.first-run-3.0.22-20190512 (version number may be different) $RDECK_BASE/var/.install-complete-missing-ver
Copy or move the downloaded rundeck war file into your
$RDECK_BASE
folderStart Rundeck from the console and wait until it boots up successfully
java -jar rundeckpro-enterprise-4.17.4-20231216.war
Installation Specific Notes
Runnable War
To upgrade Rundeck using the runnable war use the following steps:
- Stop Rundeck Service:
$RDECK_BASE/server/sbin/rundeckd stop
- In case you have customs plugins in
libext
folder, backup them. For example, you can move the fulllibext
:
mv $RDECK_BASE/libext $RDECK_BASE/libext.3
- Remove previous "source" folders:
rm -rf $RDECK_BASE/server/lib/rundeck-core*jar $RDECK_BASE/server/sbin/ $RDECK_BASE/tools/ $RDECK_BASE/var/.install_complete-missing-ver
- Run the following command to ensure that all files and directories are created properly:
rm var/.install_complete-missing-ver
- Copy the new war file to
$RDECK_BASE
and install it:
java -jar rundeck-4.17.4-20231216.war --installonly
- Start Rundeck 3:
$RDECK_BASE/server/sbin/rundeckd start
- Copy the "custom" plugins back to
$RDECK_BASE/libext
folder.
DEB Package
The upgrade process can be done using the .deb
file or using the command apt-get
:
If using deb package
sudo dpkg -i rundeck-4.17.4-20231216.deb
If using apt-get
sudo apt-get upgrade rundeck
RPM Package
The upgrade process can be done using the .rpm
file or using the command yum
.
In the case of the RPM or Yum upgrade, any changed config files will not be modified, and new files are saved with the extension .rpmnew
. If you have changed your config file, please compare it to the .rpmnew
file to see what changes might need to be included.
$ ls -lrt
total 56
-rw-r----- 1 rundeck rundeck 455 Jun 1 19:34 rundeck-config.properties.rpmnew
-rw-r----- 1 rundeck rundeck 986 Jun 1 19:34 realm.properties
-rw-r----- 1 rundeck rundeck 729 Jun 1 19:34 project.properties
-rw-r----- 1 rundeck rundeck 3426 Jun 1 19:34 profile
-rw-r----- 1 rundeck rundeck 7538 Jun 1 19:34 log4j.properties
-rw-r----- 1 rundeck rundeck 136 Jun 1 19:34 jaas-loginmodule.conf
-rw-r----- 1 rundeck rundeck 1177 Jun 1 19:34 framework.properties.rpmnew
-rw-r----- 1 rundeck rundeck 511 Jun 1 19:34 cli-log4j.properties
-rw-r----- 1 rundeck rundeck 1104 Jun 1 19:34 apitoken.aclpolicy
-rw-r----- 1 rundeck rundeck 738 Jun 1 19:34 admin.aclpolicy
-rw-r----- 1 rundeck rundeck 673 Jun 4 16:02 rundeck-config.properties
-rw-r----- 1 rundeck rundeck 1505 Jun 4 16:02 framework.properties
drwxr-x--- 1 rundeck rundeck 4096 Jun 4 16:08 ssl
Using rpm package
$ rpm -U rundeck-4.17.4-20231216.rpm
warning: /etc/rundeck/framework.properties created as /etc/rundeck/framework.properties.rpmnew
warning: /etc/rundeck/rundeck-config.properties created as /etc/rundeck/rundeck-config.properties.rpmnew
rundeck.server.uuid = XXXXXXXXXXXXXXX
Using yum
$ yum upgrade rundeck
Tomcat War deployment
Stop Tomcat
In case you have customs plugins in
libext
folder, backup them. For example, you can move the fulllibext
:
mv $rdeck.base/libext $rdeck.base/libext.3
- Remove old version deployment and war file:
rm $tomcat.base/webapps/rundeck $tomcat.base/webapps/rundeck.war
- Remove previous "source" content:
rm -rf $rdeck.base/server/lib/rundeck-core* $rdeck.base/var/.install_complete-missing-ver
- Place the new Rundeck version as the old war file:
mv rundeck-4.17.4-20231216.war $tomcat.base/webapps/rundeck.war
Start Tomcat
Copy the "custom" plugins back to
$rdeck.base/libext
folder.
NOTES FOR TOMCAT:
- Due to changes in authentication,
tomcat-users.xml
and other Tomcat's authentication modules no longer work, you should configure users as described in Authenticating Users. - If you do not have
-Drundeck.config.location
defined or configured in$tomcat.base/bin/setenv.sh
file (tomcat.base\bin\setenv.bat
for Windows), Rundeck will read its config file from this location:$rdeck.base/server/config/rundeck-config.properties
. - You must define the
server.servlet.context-path
(server.contextPath
for versions prior to 3.3) value inrundeck-config.properties
to properly tell Rundeck about the context path used by tomcat. See Installation on Tomcat.