Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "PackageDrone/ReleaseBuild"
(add blueprint for download area) |
(→Assembling outputs) |
||
Line 33: | Line 33: | ||
== Assembling outputs == | == Assembling outputs == | ||
+ | |||
+ | Run the following commands after a successful local build: | ||
+ | |||
+ | cd deploy/promote | ||
+ | ant -DkeyId=12345678 -Declipse.committer=userid -DbaseVersion=0.1 -Drelease=0.m1 -DbuildType=milestone -f build.ant | ||
+ | |||
+ | Check the output with: | ||
+ | |||
+ | find output | ||
+ | |||
+ | Dry run the upload: | ||
+ | |||
+ | ant -DkeyId=12345678 -Declipse.committer=userid -DbaseVersion=0.1 -Drelease=0.m1 -DbuildType=milestone -f build.ant publish | ||
+ | |||
+ | Perform the upload: | ||
+ | |||
+ | ant -DdryRun= -DkeyId=12345678 -Declipse.committer=userid -DbaseVersion=0.1 -Drelease=0.m1 -DbuildType=milestone -f build.ant publish | ||
The download location is structured like this: | The download location is structured like this: | ||
Line 59: | Line 76: | ||
/package-drone/release | /package-drone/release | ||
− | /current -> 0.13 | + | /current -> 0.13 |
− | /0.12 | + | /0.12 |
/ubuntu | /ubuntu | ||
/rhel6 | /rhel6 | ||
/rhel7 | /rhel7 | ||
/opensuse13 | /opensuse13 | ||
− | /0.13 | + | /0.13 |
/ubuntu | /ubuntu | ||
/rhel6 | /rhel6 | ||
Line 73: | Line 90: | ||
/package-drone/milestone | /package-drone/milestone | ||
− | /current -> 0.13 | + | /current -> 0.13 |
− | /0.12 | + | /0.12 |
/ubuntu | /ubuntu | ||
/rhel6 | /rhel6 | ||
Line 81: | Line 98: | ||
/opensuse13 | /opensuse13 | ||
− | /0.13 | + | /0.13 |
/ubuntu | /ubuntu | ||
/rhel6 | /rhel6 |
Revision as of 12:41, 18 January 2016
This page tries to describe the internal build process for releases.
Prerequisites
- Maven 3.3.x with
mvn
in the "PATH" -
gpg-agent
and a working signing key - rpm build tools installed
Have the following properties set in your ~/.m2/settings.xml
or provide these during the builds:
<jdeb.keyring>/path/to/gpg/keyring</jdeb.keyring> <jdeb.key>12345678</jdeb.key> <jdeb.passphrase>passphrase</jdeb.passphrase>
Have the following RPM macros defined in your ~/.rpmmacros
:
%_gpg_name 12345678 %__gpg_check_password_cmd /bin/true %__gpg_sign_cmd %{__gpg} gpg --batch --no-verbose --no-armor --use-agent --no-secmem-warning -u "%{_gpg_name}" -sbo %{__signature_filename} %{__plaintext_filename}
Performing the build
git clone https://github.com/eclipse/packagedrone.git packagedrone.git cd packagedrone.git cd runtime mvn clean install cd .. mvn clean verify -Prpm -Pjdeb-sign -Dtycho.localArtifacts=ignore
Build profiles
The jdeb-sign
profile uses the "jdeb.*" properties above to sign the DEB and RPM packages. This profiles also requires the rpm
profile to be active.
Assembling outputs
Run the following commands after a successful local build:
cd deploy/promote ant -DkeyId=12345678 -Declipse.committer=userid -DbaseVersion=0.1 -Drelease=0.m1 -DbuildType=milestone -f build.ant
Check the output with:
find output
Dry run the upload:
ant -DkeyId=12345678 -Declipse.committer=userid -DbaseVersion=0.1 -Drelease=0.m1 -DbuildType=milestone -f build.ant publish
Perform the upload:
ant -DdryRun= -DkeyId=12345678 -Declipse.committer=userid -DbaseVersion=0.1 -Drelease=0.m1 -DbuildType=milestone -f build.ant publish
The download location is structured like this:
# plain downloads /package-drone/drops /milestone /0.12.0.m1 /0.12.0.m2 /0.12.0.m3 /0.12.1.m1 /0.13.0.m1 /0.13.0.m2 /0.13.1.m1 /release /0.12.0 /0.12.1 /0.12.2 /0.13.0 /0.13.1 # repositories (apt, yum) /package-drone/release /current -> 0.13 /0.12 /ubuntu /rhel6 /rhel7 /opensuse13 /0.13 /ubuntu /rhel6 /rhel7 /opensuse13 /package-drone/milestone /current -> 0.13 /0.12 /ubuntu /rhel6 /rhel7 /opensuse13 /0.13 /ubuntu /rhel6 /rhel7 /opensuse13
…