OpenSearch/dev-tools
Alexander Reelsen f64739788b Build: Update package repositories when creating a release
In order to automatically sign and and upload our debian and RPM
packages, this commit incorporates signing into the build process
and adds the necessary steps to the release process. In order to do this
the pom.xml has been adapted and the RPM and jdeb maven plugins have been
updated, so the packages are signed on build. However the repositories
need to signed as well.

Syncing the repos requires downloading the current repo, adding
the new packages and syncing it back.

The following environment variables are now required as part of the build

* GPG_KEY_ID - the key ID of the key used for signing
* GPG_PASSPHRASE - your GPG passphrase
* S3_BUCKET_SYNC_TO: S3 bucket to sync new repo into

The following environment variables are optional

* S3_BUCKET_SYNC_FROM: S3 bucket to get existing packages from
* GPG_KEYRING - home of gnupg, defaults to ~/.gnupg

The following command line tools are needed

* createrepo (creates RPM repositories)
* expect (used by the maven rpm plugin)
* apt-ftparchive (creates DEB repositories)
* gpg (signs packages and repo files)
* s3cmd (syncing between the different S3 buckets)

The current approach would also work for users who want to run their
own repositories, all they need to change are a couple of environment
variables.

Minor implementation detail: Right now the branch name is used as version
for the repositories (like 1.4/1.5/1.6) - if we ever change our branch naming
scheme, the script needs to be fixed.
2015-04-26 19:05:47 +02:00
..
forbidden Replace deprecated filters with equivalent queries. 2015-04-21 15:32:43 +02:00
pmd Added static analysis profile to pom.xml 2014-03-13 12:23:07 -07:00
ElasticSearch.launch [EXEC] Remove reduced stack size 2015-01-06 17:35:45 +01:00
build_randomization.rb [BUILD] Randomly enable AggressiveOpts in builds 2014-09-09 21:58:37 +02:00
build_release.py Build: Update package repositories when creating a release 2015-04-26 19:05:47 +02:00
build_repositories.sh Build: Update package repositories when creating a release 2015-04-26 19:05:47 +02:00
client_tests_urls.prop [BUILD] Switch 1x to JDK7 download 2014-03-31 19:28:27 -07:00
create_bwc_index.py Core: add only_ancient_segments to upgrade API, so only segments with an old Lucene version are upgraded 2015-04-16 05:24:33 -04:00
create_bwc_index_with_some_ancient_segments.py Core: add only_ancient_segments to upgrade API, so only segments with an old Lucene version are upgraded 2015-04-16 05:24:33 -04:00
download-s3.py [TOOLS] Added simple S3 Download tool based on boto 2014-06-02 13:35:21 +02:00
elasticsearch_license_header.txt Added licene-maven-plugin to build 2014-01-10 22:04:48 +01:00
es_release_notes.pl Changed the release notes script to use the category labels instead of title prefix 2015-03-19 16:52:47 +01:00
extract_party_license.rb typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-08 18:55:57 +01:00
get-bwc-version.py Tests: improve back compat tests by adding delete-by-query in the transaction log on upgrade 2015-03-26 10:12:22 -04:00
license_header_definition.xml Build: Changed license header definition file xml encoding to UTF-8 2014-08-18 10:55:32 +02:00
upgrade-tests.py [TEST] remove needless script settings from upgrade tests script 2015-03-26 19:56:55 +01:00
upload-s3.py Fix ASL Header in source files to reflect s/ElasticSearch/Elasticsearch 2014-01-07 11:22:01 +01:00