...
https://builds.apache.org/job/Netbeans/job/netbeans-TLP/job/netbeans/ should contains the release version to be published. Navigate to lastSuccessfulBuild/artifact/mavenrepository/ in the target release to check that this repository is populated.
If something went wrong, prepare patch nb-repository-plugin and update build process https://github.com/apache/netbeans-jenkins-lib/blob/master/vars/asfMainNetBeansBuild.groovy to the version you want to use "def repopluginversion="1.7-SNAPSHOT".
Publishing
Release
(need improvement list findings.)
You shall have a PGP Key,.
Verify your access to repository https://repository.apache.org/ (as commiter it should be automatic)
The release process is using Apache Maven. You need to have a settings.xml configured as follow https://www.apache.org/dev/publishing-maven-artifacts.html need to be a PMC to do this with access to repository.apache.org.
get zip
from jenkins build and extract localy (ie https://builds.apache.org/job/Netbeans/job/netbeans-TLP/job/netbeans/job/release123/lastSuccessfulBuild/artifact/ ) repository is generated according to a git tag to match a released version
...
Code Block | ||||
---|---|---|---|---|
| ||||
export GPG_EMAIL="YOU@apache.org" find . -name '*.nbm' -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sig {} \; find . -name '*.xml' -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sig {} \; find . -name '*.pom' -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sig {} \; find . -name '*.sha1' -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sig {} \; find . -name '*.md5' -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sig {} \; find . -name '*.jar' -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sig {} \; # one liner test find . \( -name '*.nbm' -o -name '*.xml' -o -name '*.pom' -o -name '*.sha1' -o -name "*.md5" -o -name "*.jar" \) -exec gpg -u $GPG_EMAIL --armor --output {}.asc --detach-sig {} \; |
test signing
Code Block | ||||
---|---|---|---|---|
| ||||
find . -name '*.asc' -exec gpg --verify {} \; |
...
Code Block | ||||
---|---|---|---|---|
| ||||
mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.713:rc-list-profiles -DserverId=apache.snapshotsreleases.https -DnexusUrl=https://repository.apache.org | grep 'netbeans' |
...
Code Block | ||||
---|---|---|---|---|
| ||||
mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.713:deploy-staged-repository -DserverId=apache.snapshotsreleases.https -DnexusUrl=https://repository.apache.org -DstagingProfileId=20604114d0070e -DskipStagingRepositoryClose=true -DrepositoryDirectory=pathofsignedartefacts<pathofsignedartefacts> |
close the repository using web UI at https://repository.apache.org/
...
Artifacts are now in staged state, waiting to be released. To press the button you must wait a vote.
Release option
You can propose the staging repository in the main voting thread.
You can propose a standalone vote.
If the vote is ok you can press the release button and the artifacts will move to maven central.
If the vote is cancel you can delete the artifacts to save some space.
Snapshots
Apache NetBeans snapshot maven artefacts are automaticaly populated on Apache Snapshot repository after master build.
...