Prerequisites
Apache JFrog Artifactory Repository and Access
You need permissions to release the Apache Tika Helm chart to the Apache Infra Artifactory instance. This is controlled by the ASF Infra team and can be requested through a INFRA JIRA ticket. Make sure to tag the ticket with the Artifactory label.
tika-helm repo
This Github repository contains the Chart which needs to be configured for minimal and full Tika Docker images. If you are an Apache Tika Committer or PMC you should already have access to this repository. If not, then you will want to check over on the dev@tika mailing list.
General Information
tika-docker Image Types
There are two image types:
- Minimal - containing just Apache Tika and it's base dependencies (i.e. Java)
- Full - containing Apache Tika, it's dependencies, as well as Tesseract and GDAL.
This is to say that for every stable release of the Apache Tika source binaries, two (minimal and full) Docker images are released.
Release Process
Creating Git Release
Based on the above general information, we therefore make two releases of the corresponding Helm Chart. In order to do this, we need to update 4 lines of code, namely
We can do this with the following command
$ cd tika-helm && git checkout -b ${target_version} # i.e. v1.26-full # Linux $ git grep -l 'latest-full' | xargs sed -i 's/latest-full/${target_version}/g' # Mac $ git grep -l 'latest-full' | xargs sed -i '' -e 's/latest-full/${target_version}/g'
Once you have examined the changes, you can commit them (to the ${target_version} branch). Then tag them from there and push the tag to the tika-helm repository.
$ git add -A $ git commit -m "Release branch for tika-helm ${target_version}" $ git tag -a ${target_version} -m "Release tika-helm ${target_version}" $ git push origin ${target_version}
Once this is done, you can navigate to the ${target_version} tag you just pushed and 'release' it (by clicking on the three dots button on the right hand side).
Promoting Release to the Apache JFrog Artifactory Repository
Prerequisites
- Helm
- helm-push-artifactory-plugin (if you are using Helm v3 (recommended) then add
--version 1.0.2
), for example
# Assuming Mac $ brew install helm # Which will install Helm >=3.X $ helm plugin install https://github.com/belitre/helm-push-artifactory-plugin --version 1.0.2 # Which is required for >= Helm 3.X ... Installing plugin for Helm v3... Downloading and installing helm-push-artifactory v1.0.2 ... https://github.com/belitre/helm-push-artifactory-plugin/releases/download/v1.0.2/helm-push-artifactory-v1.0.2-darwin-amd64.tar.gz Installed plugin: push-artifactory
...