Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add ARM64 Docker build step with JDK11

...

6.3.4. Publish technical documentation

Publish the technical documentation on the website: How to Document - Publishing to the website

6.3.5.

Update references to API docs on the website, SEO updates

Update the latest APIs doc reference on ignite.apache.org:

  • Update the new version number on the .htaccess file: RewriteRule ^releases/latest/(.*)$ /releases/2.9.0/$1 [L]
  • Prepare HTML release notes from text release notes

    Checkout GIT repository for Apache Ignite site: https://gitbox

    Add the following tag to all .html files: <link rel="canonicalhref="https://ignite

    .apache.org/

    releases

    repos/

    latest

    asf/

    LANGUAGE

    ignite-

    DIR/FILENAME.html" />
  • Use https://github.com/apache/ignite-website/blob/master/add-canonical-metatag.php (or the script) that automates the update or contact Mauricio Stekl (mauricio@gridgain.com) who can assist with this step.
  • Commit changes to the GIT.
  • This script does some Search engine optimization (SEOupdates to new/old .html files, like adding NOINDEX metatag to older version; add canonical URL to latest docs; and add GA code.  

    6.3.6. Prepare HTML release notes from text release notes

    Checkout GIT repository for Apache Ignite site: https://gitbox.apache.org/repos/asf/ignite-website.git

    Just copy-paste latest release notes from previous release, replace text formatting with headers, lists items.

    Place these notes to corresponding release folder, for example releases/2.7.5. If folder is absent, check results of step 6.2.3.

    Commit and push changes. File should be available on the site automatically. 

    Once the new release is published to dist.apache.org/release wait a day or so for mirrors to catch up. 

    website.git

    Just copy-paste latest release notes from previous release, replace text formatting with headers, lists items.

    Place these notes to corresponding release folder, for example releases/2.7.5. If folder is absent, check results of step 6.2.3.

    Commit and push changes. File should be available on the site automatically. 

    Once the new release is published to dist.apache.org/release wait a day or so for mirrors to catch up. 

    After the release was propagated across After the release was propagated across all the mirrors, update the "Source Releases" and "Binary Releases" sections of the website downloads page:

    • Add a reference to the new release pointing out to https://downloads.apache.org/. Make sure to use [preferred]/[distdir] as part of the URL.
    • Mark the new release as the latest one.
    • Change the previous latest release record to link to https://archive.apache.org/ server. 
    • Add references to the release notes, API and technical documentations.


    6.3.

    ...

    7. Update version for generating users advices to update

    Find `latest` text file in GIT repository for Apache Ignite site.

    Update Ignite version in this file. Commit changes and check result at https://ignite.apache.org/latest

    6.3.

    ...

    8. Mark JIRA version as released

    Go to JIRA project administration, select Apache Ignite, select Versions, select appropriate version and select Actions->Release.

    6.3.

    ...

    9. Prepare docker image

    This section Intended for preparing a docker image for https://apacheignite.readme.io/docs/docker-deployment

    ...

    Follow instructions from the README file and Dockerfile are available at:
    https://github.com/apache/ignite/tree/master/deliveries/docker/apache-ignite

    To build an x86_64 image images run the following command (insert correct release number):commands (insert correct release number):

    Code Block
    languagebash
    docker build . -f ./x86_64/Dockerfile -t apacheignite/ignite:2.15.0 -t apacheignite/ignite:latest
    docker build . -f ./x86_64/Dockerfile -t apacheignite/ignite:2.15.0-jdk11 --build-arg JDK_VERSION=11 
    docker build . -f ./s390x/Dockerfile -t apacheignite/ignite:2.15.0-jdk11-s390x --build-arg IGNITE_VER=2.15.0
    docker buildx build . -f ./arm64/Dockerfile -t apacheignite/ignite:2.15.0-arm64 --push --platform linux/arm64
    docker buildx build . -f ./arm64/Dockerfile
    Code Block
    languagebash
    docker build . -t apacheignite/ignite:2.1115.0-jdk11-arm64 --push --tplatform apacheignite/ignite:latestlinux/arm64 --build-arg JDK_VERSION=11

    This build takes a distribution from some folder named like apache-ignite*

    You can validate image images created by calling

    Code Block
    languagebash
    docker images

    ...

    Run

    Code Block
    languagebash
    docker push apacheignite/ignite:2.15.0
    docker push apacheignite/ignite:2.15.0-jdk11
    docker push apacheignite/ignite:2.1115.0-jdk11-s390x
    docker push apacheignite/ignite:latest

    Check results at https://hub.docker.com/r/apacheignite/ignite

    6.3.

    ...

    10. GCE & AWS virtual machines

    6.3.

    ...

    10.2. AWS deployment

    Todo: add description of steps ? 

    In addition, update the links to the images on the following documentation pages whenever is needed:

    https://apacheignite.readme.io/docs/aws-deployment

    6.3.

    ...

    10.3. GCE deployment

    Todo: add description of steps ? 

    ...

    Prepare the cloud images and update links to them here https://ignite.apache.org/download.cgi#docker.

    6.3.

    12

    11. Delete previous release from dist and dev SVN directories

    Old releases should be archived. Delete previous releases from https://dist.apache.org/repos/dist/release/ignite/... (PMC only): 

    Code Block
    languagebash
    svn rm -m "Archiving release X.Y.Z" https://dist.apache.org/repos/dist/release/ignite/X.Y.Z/ || true

    Replace their download URLs by https://archive.apache.org/dist/ignite/...

    Delete unsucessfull release candidates and packages (if any) from dev section of Apache SVN repository https://dist.apache.org/repos/dist/dev/ignite/

    6.3.

    13

    12. Upload NuGet packages to nuget.org

    Retrieve all .nupkg files from build artifacts of step 4.5

    Initial setup

    You may need to install client tools for .NET https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools (download file & add it to PATH). You can use nuget.exe 4.x version (because NuGet.exe 5.0 and later require .NET Framework 4.7.2 ).

    It may be required to configure nuget.exe using NuGet.Config(XML) https://docs.microsoft.com/en-us/nuget/tools/cli-ref-push for using nuget.org as default push source.

    You can find configuration file under user home directory, for example, on Windows

    No Format
    cd %appdata%\Nuget

    Configuration on Linux can be skipped. The push source is set up by -s param in the script.

    Example of configuration:

    Code Block
    languagexml
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
      </packageSources>
      <config>
        <add key="defaultPushSource" value="https://nuget.org/" />
      </config>
    </configuration>


    ...

    Usually, this sync should be completed in 4 hours after releasing repository at step 6.3.1. If it is not released, contact infra.

    6.3.

    ...

    14. Update compatibility check versions

    Create a new issue to enforce compatibility checks and prepare the PR. Add the released version to the IgniteReleasedVersion enum. Ask for a review on dev-list if necessary.

    ...