Upgrading the server
- This chapter describes how to upgrade an existing installation for connected clients. For information on how to install a server that supports clients who want to work disconnected, see the "Installation" chapter of Using Helix Core Server for Distributed Versioning.
-
The examples in this chapter apply to both Windows and Linux/MacOS installations.
Older Helix Core applications continue to work with newer versions of Helix Core server. However, to enable your users to benefit from the features introduced in subsequent versions of the server, you must upgrade the server.
- To check on the status of upgrade steps on a single server, use p4 upgrades
- To check on the status of the specified upgrade step on a server and its upstream servers, use p4 upgrades -g
-
The Helix Core server
log
file might contain information about upgrade status. To see the location, use thep4 configure show P4LOG
command. By default, the location isP4ROOT/log
for Windows and/opt/perforce/servers/<server-instance>/logs/log
for a Linux package installation.
Windows
Use the installer to install the new version.
When planning the upgrade:
- To upgrade Helix Server to a newer version, your Helix Server license file must be current.
- You must back up your Helix Server installation (see Backup procedure) as part of any upgrade process.
-
Before you upgrade the Helix Server, read the release notes associated with your upgraded installation.
- If running the Helix Versioning Engine as a service (p4s.exe) and upgrading manually rather than using the Windows installer, make sure that binary is also updated by copying p4d.exe to p4s.exe.
Linux
It is possible for more than one server to run on the same host machine. On a Linux host, if you want to make sure all such servers use a specific version and do not upgrade to higher versions, consider this approach.
APT policy with Pin | more /etc/apt/preferences.d/p4d
Package: helix-p4d Pin: version 2019.2.* Pin-Priority: 1000 |
Yum |
See https://www.cyberciti.biz/faq/centos-redhat-fedora-yum-lock-package-version-command/ The --exclude directive allows for wildcards, whereas the yum versionlock command will not allow patch upgrades. |
Alternatively, you can install a specific base package in a way that allows the package manager to automatically install the latest patch. For example,
apt-get install helix-p4d-base-r19.2
sudo update-alternatives --config helix-p4d
If you want to allow for version differences between the p4d services running on the same Linux host, you can use Helix Core Server Control (p4dctl) and set the version for each specific server. For example,
- on server1, you might update the execute parameter in the p4dctl config to point to /opt/perforce/sbin/p4d.20.2
- on server2, you might update the execute parameter in the p4dctl config to point to /opt/perforce/sbin/p4d.19.2
If the server was created by configure-helix-p4d.sh, and hence is managed by Helix Core Server Control (p4dctl), upgrade the database with this command:
p4dctl exec -t p4d <service name> -- -xu
This ensures the -xu is run with the correct user and environment. For more information, see exec
in p4dctl commands.
When planning the upgrade:
- To upgrade Helix Server to a newer version, your Helix Server license file must be current.
- You must back up your Helix Server installation (see Backup procedure) as part of any upgrade process.
- If you have an installation of Git Connector, upgrade your Git Connector installation before upgrading your Helix Core servers. See Upgrading Git Connector.
-
Before you upgrade the Helix Server, read the release notes associated with your upgraded installation.
-
If you have a large number of ktext files (
+k
and+ko
text files with RCS keyword expansion), contact Perforce Support for guidance on making the upgrade process faster.