release: add gpg-loopback helper to release image

Introduce a `gpg-loopback` helper script that reads the GPG passphrase
from a file instead of prompting the release manager interactively.  The
script is baked into the release Docker image to simplify usage in
automated pipelines.

Rather than being hardcoded, the passphrase file location is always read
from the `$GPG_PASSPHRASE_FILE` environment variable, so that it can be
specified at runtime.

This change does not alter the current release flow but establishes a
prerequisite for fully automating the release process, removing manual
input during signing operations.

Change-Id: Ibac7eeb6ad14a8fa19e16339bc8aa6715e662980
2 files changed
tree: cd4973a228848404c3fe9998a7e27617e87c4e21
  1. jenkins/
  2. jenkins-docker/
  3. jenkins-internal/
  4. vars/
  5. .gitignore
  6. Jenkinsfile
  7. README.md
  8. yamllint-config.yaml
README.md

Gerrit CI scripts

Providing jobs

This project uses Jenkins Jobs Builder [1] to generate jobs from yaml descriptor files.

To add new jobs reuse existing templates, defaults etc. as much as possible. E.g. adding a job to build an additional branch of a project may be as easy as adding the name of the branch to an existing project.

To ensure well readable yaml-files, use yamllint [2] to lint the yaml-files. Yamllint can be downloaded using Python Pip:

pip3 install --require-hashes yamllint

To run the linter, execute this command from the project's root directory:

yamllint -c yamllint-config.yaml jenkins/**/*.yaml

Yamllint will not fix detected issues itself.

[1] https://docs.openstack.org/infra/jenkins-job-builder/index.html [2] https://pypi.org/project/yamllint/