52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
|
# Releasing x-plugins
|
||
|
|
||
|
Releasing is split into two steps now. First, elasticsearch core gets a testing release.
|
||
|
This release is not published on the maven sonatype repo, but is left as a staging repository.
|
||
|
At the same time, the created artifacts are uploaded to the download.elastic.co S3 bucket into
|
||
|
a private URL, that is comprised of the version and the commit hash.
|
||
|
|
||
|
As soon as the core is uploaded there, we can use this repository to build x-plugins against it.
|
||
|
|
||
|
## Release x-plugins for a release candidate
|
||
|
|
||
|
In order to upload x-plugins to the elasticsearch core release candidate, you need to execute the
|
||
|
`release_beta_to_s3` shell script. There are two parameters, first the version to be released and
|
||
|
second the commit hash, which is part of the URL to download this beta release.
|
||
|
|
||
|
```
|
||
|
sh x-dev-tools/release_beta_to_s3.sh 2.0.0-beta1 468cb61
|
||
|
```
|
||
|
|
||
|
So, what is this script doing
|
||
|
|
||
|
* Adds the S3 bucket as repository
|
||
|
* Updates the versions in the pom.xml to reflect the non-snapshot version
|
||
|
* runs `mvn install` into a local repository, then removes sources and emits the s3cmd command to sync with the core repo
|
||
|
|
||
|
As soon as the Elasticsearch is released, this S3 bucket is just renamed. This
|
||
|
means, that at this moment, the x-plugins will work for the plugin manager,
|
||
|
without you having to do anthing!
|
||
|
|
||
|
However, one last step remains...
|
||
|
|
||
|
## Deploying x-plugins into maven repositories
|
||
|
|
||
|
For those, who want to use the jar files as part of their java projects, we have
|
||
|
to update our own artifactory after the release has been done.
|
||
|
|
||
|
In addition to those steps like updating documentation we have to run deploy
|
||
|
to this repo. What is required for this, is the version of the release and
|
||
|
the commit hash of the commit in the `x-plugins` repo.
|
||
|
|
||
|
**NOTE: This is not the same commit hash as above** in the release candidate
|
||
|
process. Luckily the script should fail, when git does not find the commit!
|
||
|
|
||
|
```
|
||
|
sh release_to_repositories.sh 2.0.0-beta1 75964ad
|
||
|
```
|
||
|
|
||
|
This script checks out the specified commit hash, removes all the
|
||
|
`-SNAPSHOT` suffixes and runs `mvn deploy -Pdeploy-public`. The script
|
||
|
will also wait for you pressing enter before proceeding!
|
||
|
|