You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

Prerequisites to publish

org.apache.netbeans:nb-repository-plugin is the key tool for artifacts preparation.

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

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

do sign (it may takes some time as we have an important amount of artefacts)

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 {} \;
 test signing
find . -name '*.asc' -exec gpg --verify {} \;

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

Optional: get the stagingprofileid
mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.11:rc-list-profiles -DserverId=apache.releases.https -DnexusUrl=https://repository.apache.org | grep 'netbeans'

give the stagingprofile id: 20604114d0070e for Apache NetBeans

populate the staging repository
mvn org.sonatype.plugins:nexus-staging-maven-plugin:1.6.11:deploy-staged-repository -DserverId=apache.releases.https -DnexusUrl=https://repository.apache.org -DstagingProfileId=20604114d0070e -DskipStagingRepositoryClose=true -DrepositoryDirectory=<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.



  • No labels