Zuul Upstream¶
The project depends on a fork of the official Zuul Git repository to maintain the flexibility to diverge from upstream whenever it is needed (e.g. rely on unmerged patches or even maintain an older version with applied security patches). The repository is located at https://gitlab.open-xchange.com/middleware/netflix-zuul.
Branches within that repository should follow the origin Zuul naming scheme with an -ox
suffix, for example 2.1-ox
. Such branches should be kept up to date with new according minor releases from upstream and have all changes added as dedicated commits on top. Example:
Upstream branch
2.1
is Netflix’ development branch for the Zuul 2.1 code streamZuul 2.1.4 is the most recent release of this stream and tagged as
v2.1.4
OX maintains a branch
2.1-ox
that is based on tagv2.1.4
(and therefore potentially behind branch2.1
). OX commits fixes on the2.1-ox
branch.If Zuul 2.1.5 is released and OX decides to upgrade, branch
2.1-ox
would be rebased onto tag2.1.5
.
Release build versions done by OX are defined as ${upstreamVersion}-${patchNumber}-ox
, e.g. 2.1.4-1-ox
. For each release, a tag of the same name and with a v
prefix must be set (e.g. v2.1.4-1-ox
).
Prepare Workspace¶
git clone git@gitlab.open-xchange.com:middleware/netflix-zuul.git
cd netflix-zuul
git remote add upstream https://github.com/Netflix/zuul.git
git checkout 2.1-ox
Release Builds¶
To depend on a new Zuul version, be it for new OX commits or upstream changes, after applying all desired changes to the most recent OX branch, a JAR file along with source and JavaDoc JARs and maven repository metadata must be build. The correct version number must be passed as Gradle property release.version
:
./gradlew :zuul-core:clean :zuul-core:build :zuul-core:publishToMavenLocal -Prelease.version="2.1.4-1-ox" -Dmaven.repo.local=./zuul-core/build/publications/ox
git tag v2.1.4-1-ox
git push origin --tags
To let appsuite-proxy
depend on the new version, it must be published to https://artifactory.open-xchange.com/artifactory/libs-release-local/. The whole distribution to upload can be found in ./zuul-core/build/publications/ox
.