Upgrading GitFlic from Version 3.x.x to 4.x.x
Important Notice
If you're using GitFlic 2.x.x, first follow the 2.x.x to 3.x.x migration guide before proceeding with this upgrade.
Pre-Upgrade Requirements
Before upgrading to GitFlic 4.0.0, create backups of: - PostgreSQL and Redis/KeyDB databases - Static data (img, repo, cicd, registry, releases directories) - SSH server keys (/opt/gitflic/key.pem)
Overview
Version 4.0.0 introduces critical architectural changes that break backward compatibility. This guide addresses migration challenges from 3.x.x to 4.x.x.
For upgrade assistance, contact support@gitflic.ru
.
Key Changes in 4.0.0
- New RSA key handling for package signatures and auth tokens (requires
gitflic.vault.cert.publicKey
andgitflic.vault.cert.privateKey
) - Mandatory
User UID
field for LDAP configurations - Revised SAML connection signature handling
- CI/CD agents now execute jobs in single context by default
- Kubernetes manifests replaced with Helm Charts
- Revised Docker container deployment approach
Upgrade Process
-
Extract RSA keys using keys-retriever.jar:
This generatesjava -jar keys-retriever.jar /path/to/application.properties
private_key.pem
andpublic_key.pem
in the current directory. -
Stop GitFlic and update
application.properties
:gitflic.vault.cert.publicKey=/path/to/public_key.pem gitflic.vault.cert.privateKey=/path/to/private_key.pem
-
Replace
gitflic.jar
with the 4.0.0 version and restart.
Docker Compose Changes
- New version uses Docker volumes instead of direct filesystem mounts
- Full data migration required when using default compose files
Enterprise Edition
For enterprise users:
1. Download gitflic-server-ee.tar
from your account
2. Import image:
docker load -i gitflic-server-ee_<version>.tar
.env
:
GITFLIC_IMAGE=gitflic-server-ee:<version>
-
Extract RSA keys:
docker pull registry.gitflic.ru/project/gitflic/keys-retriever/keys-retriever:1.0.0 CONTAINER_ID=$(docker run -d --env-file ./ENV --network gitflic_network registry.gitflic.ru/project/gitflic/keys-retriever/keys-retriever:1.0.0) docker cp $CONTAINER_ID:/opt/key-retriever/private_key.pem ./ docker cp $CONTAINER_ID:/opt/key-retriever/public_key.pem ./
-
Stop GitFlic 3.x.x containers
-
Create volumes and migrate data:
docker volume create gitflic_cert sudo cp *.pem $(docker volume inspect gitflic_cert -f '{{.Mountpoint}}') cp -rT old_path/data/* $(docker volume inspect new_volume -f '{{.Mountpoint}}')
-
Start GitFlic 4.x.x and verify data integrity
Post-Upgrade Configuration
LDAP Changes
Version 4.0.0 requires configuring a permanent User UID
attribute. The system auto-populates this field from the login attribute, but administrators should manually set it to a true unique identifier (e.g., uid
, employeeNumber
).
SAML Changes
New SAML signature verification uses SHA1 fingerprints. The Verify metadata certificate
option is disabled by default. When enabled, ensure the SHA1 certificate hash
field is populated.
CI/CD Agent Updates
Execution Context Change
Version 4.0.0 agents execute jobs in single context by default. To revert to previous behavior, add to application.properties
:
runner.enableExecScriptsInSession=false
Automatic translation!
This page has been automatically translated. The text may contain inaccuracies.