Hi,

I'd like to start a discussion about Apache Ignite release procedure.

I'm working on ticket Ignite-5249 "The release build procedure should be
placed on the CI/CD server and available to run for the release engineer."

https://issues.apache.org/jira/browse/IGNITE-5249

Currently we have three options for release:

1. Release engineer can do all the necessary steps on his local machine. It
will require installing tons of soft like maven, doxigen, candle and so on.
Also building .net part of the project will require access to Windows OS.
Build steps will not be transparent for community. Environment will not be
the same for each release which can lead to the compatibility issues.

2. All the steps (including signing) can be done on the public continuous
integration server. Environment will be the same for each release, all the
steps will be transparent for community, but it will require uploading at
least one private gpg certificate on the server. This is the high security
risk and I'm mentioning this option only for the sake of completeness.

3. Building of the project can be performed on the public continuous
integration server and then artifacts can be downloaded on the local
machine and signed and deployed to the staging repository from that local
machine by running maven commands. No sharing of any credentials and
certificates will be needed, environment will be the same for each release,
all the steps will be transparent for community, artifacts created on the
CI server can be verified by check-sums after uploading to the repository.

Please, let me know if you have any suggestion or any questions about
anything related.

Reply via email to