commit | a1f4799f4160a6bc0aca0c6a5116c47879234c35 | [log] [tgz] |
---|---|---|
author | Jacek Centkowski <geminica.programs@gmail.com> | Wed Nov 09 16:49:22 2022 +0000 |
committer | Jacek Centkowski <geminica.programs@gmail.com> | Mon Nov 14 22:01:31 2022 +0100 |
tree | 7658f7639be5067474b2215caf6e6adc333e623c | |
parent | 092aff89fab27992a2e4cb1bbee169b7ea7ac2dc [diff] |
Specify both architecture and target os for multi-platform builds In order to build for both 'amd64' and 'arm64' one needs to specify 'all' architecture and target RPM OS to 'linux'. Note that it was verified by building the multiplatform docker image with the following steps: 1. create a multiplatform builder docker buildx create --name multi-platform-builder 2. use it for building docker buildx use multi-platform-builder 3. bootstrap it docker buildx inspect --bootstrap Building image command looks like: docker buildx build --platform linux/amd64,linux/arm64 -f Dockerfile --no-cache -t [user]/gerrit:$(git describe)-almalinux8 --push . Note that multiplatform builder on ubuntu requires an extra steps that are described here https://stackoverflow.com/a/69492910 Change-Id: Iedcaf6511fb091775c1f2d0fb1596531efbba7e1
This project contains the native Gerrit installation packages for the most popular platforms:
fpm subdirectory contains the Makefile to create RPM and DEB packages for a basic Gerrit installation with the following options:
_
become_
any_
accountYou need to have a Linux with the FPM utility installed. Then execute the following steps from the cloned gerrit-installer project workspace:
RPM/DEBS gets created as fpm/out/gerrit-*.(deb|rpm)
FPM Makefile allows to customise the version and URL where Gerrit war gets downloaded. By overriding the VERSION variable it is possible to build any Gerrit version that is published on Google Releases Storage http://gerrit-releases.storage.googleapis.com/.
In order to build the package for Gerrit Ver. 2.9.4:
RPM/DEBS gets created as fpm/out/gerrit-2.9.4.(deb|rpm)
Gerrit 2.11/master branch is not published on Google Releases Storage, but is available on Gerrit Build Server under the permalink: http://ci.gerritforge.com/job/Gerrit-master/lastSuccessfulBuild/artifact/buck-out/gen/gerrit.war
In order to build the package for Gerrit Ver. 2.11/master:
RPM/DEBS gets created as fpm/out/gerrit-2.11.(deb|rpm)
If you wish to publish the RPMs to a custom or public YUM repo server, you need to sign the packages and create the associated yum.repo definition to be installed on the clients.
The yum-repo directory contains a Makefile that is designed to help you in automating the repo creation and client configuration.
In order to build a YUM repository you need to have already generated the RPMs as indicated in the previous steps and then execute:
A client RPM package will be generated under the client
sub-directory and will need to be installed manually on the clients in order to configure your YUM repository.
A YUM repo structure will be generated under the server
sub-directory and will need to be uploaded to your HTTP Web-Server or to a public repository service (e.g. BinTray or even GitHub).
NOTE: By default the yum-repo generated will use the GerritForge credentials. Should you need to publish your own repository you would need to generate your own PGP private/public keys and override the vendor's definitions.
In order to generate a customized vendor's settings for the yum-repo, you need to execute:
NOTE: The yum-repo settings are assuming that you are publishing the yum-repo server and make the URL listed on http://mirrorlist.mycompany.com/yum