anchor.diff:  ----
   
   
  +[[__cgcom_cutting-a-release_releasing-the-simpleapp-archetype_deploy]]
  +=== Deploy
  +
  +Back in the original session, we upload (deploy) the archetype to the staging repository.
  +
  +[NOTE]
  +====
  +Previously we used `mvn release:prepare` and `mvn release:perform` to do this.
  +However not compatible with `${revision}` that we now use https://maven.apache.org/maven-ci-friendly.html[for CI/CD].
  +We therefore now just use `mvn deploy` directly, activating the (inherited) `apache-release` profile that, amongst other things, brings in the `gpg` plugin for code signing.
  +====
  +
  +To build and deploy and tag, we use:
  +
  +[source,bash]
  +----
  +mvn -P apache-release \
  +    clean deploy      \
  +    -Dgpg.passphrase="this is not really my passphrase"
  +
  +git tag $ISISART-$ISISREL
  +git tag $ISISART-$ISISREL-$ISISRC
  +----
  +
  +using your own GPG passphrase, of course.
  +
  +
  +[IMPORTANT]
  +====
  +This requires `gpg` v2.1 or later.
  +====
  +
  +
  +
   
   [[__cgcom_cutting-a-release_releasing-the-helloworld-archetype]]
   == Releasing `helloworld` archetype
  
positive.code: env | grep ISIS | sort
  ----
  
  Then, run the script:
  
  [source,bash]
  ----
  sh ../../../scripts/recreate-archetype.sh $ISISJIRA
  ----
  
  The script automatically commits changes; if you wish use `git log` and
  `git diff` (or a tool such as SourceTree) to review changes made.
  
  
  [[__cgcom_cutting-a-release_releasing-the-simpleapp-archetype_deploy]]
  === Deploy
  
  Previously the release procedures used `mvn release:prepare` and `mvn release:perform`.
  These are however not compatible with `${revision}` that we now use https://maven.apache.org/maven-ci-friendly.html[for CI/CD].
  
  We therefore just use `mvn deploy` directly, activating the (inherited) `apache-release` profile that, amongst other things, brings in the `gpg` plugin for code signing.
  
  To build and deploy and tag, we use:
  
  [source,bash]
  ----
  mvn -P apache-release \
      clean deploy      \
      -Dgpg.passphrase="this is not really my passphrase"
  
  git tag $ISISART-$ISISREL
  ----
  
  using your own GPG passphrase, of course.
  
  
  [IMPORTANT]
  ====
  This requires `gpg` v2.1 or later.
  ====
  
  
  
  [[__cgcom_cutting-a-release_releasing-the-simpleapp-archetype_post-prepare-sanity-check]]
  === Post-prepare sanity check
  
  _In a different session_, create a new app from the archetype.
  First set up environment variables:
  
negative.code: env | grep ISIS | sort
  ----
  
  Then, run the script (which also builds the archetype once generated) and then switch to the archetype's directory:
  
  [source,bash]
  ----
  sh ../../../scripts/recreate-archetype.sh $ISISJIRA
  cd `pwd|sed 's/application/archetype/'`
  ----
  
  The script automatically commits its changes.
  If you wish use `git log` and `git diff` (or a tool such as SourceTree) to review changes made.
  
  
  
  [[__cgcom_cutting-a-release_releasing-the-helloworld-archetype_sanity-check]]
  === Sanity check
  
  _In a different session_, create a new app from the archetype.
  First set up environment variables:
  