Releases

Overview

Releases represent tagged versions of your application associated with Docker image tags. They provide a registry of application versions with metadata including git hashes, tags, diff URLs, and release notes. Releases can also have approval workflows to gate deployments.

The docker_tag is the single identifier that links a built container image to a release record and ultimately to a live deployment. It is the tag applied to the image in ECR at build time, recorded on the release, and passed to create deploy to run that exact image. All other fields — git_hash, git_tag — are informational metadata for audit and traceability purposes only; they do not affect which image gets deployed.

Purpose and Benefits

  • Version Tracking: Associate Docker image tags with git commits and tags
  • Release Notes: Attach human-readable release notes to each version
  • Approval Workflows: Require explicit approval before a release can be deployed
  • Audit Trail: Complete history of all application versions

CLI Usage

Create Release

tapit  create release docker_tag=tag [git_hash=hash] [git_tag=tag] [diff_url=url] [release_url=url]

Registers a new release version in Tapitalee, associating a Docker image tag with metadata.

Required Parameters

  • docker_tag: (Required) The Docker image tag for this release (e.g. v1.2.3-abc123). This must match the tag used when the image was built and pushed to ECR. It is the identifier that will be used when deploying — tapit create deploy docker_tag=<value> pulls and runs the image with exactly this tag.

Optional Parameters

  • git_hash: Git commit hash associated with this release. Informational only — recorded for traceability but not used to identify or pull the image.
  • git_tag: Git tag for this release (e.g. v1.2.3). Informational only — useful for human-readable version tracking but does not affect which image is deployed.
  • diff_url: URL to a diff or pull request for this release
  • release_url: URL to release notes or changelog

Examples

# Create a basic release
tapit create release docker_tag=v1.2.3-abc123

# Create a release with full metadata
tapit create release docker_tag=v1.2.3-abc123 git_hash=abc123def456 git_tag=v1.2.3 diff_url=https://github.com/org/repo/pull/42

# CI/CD release creation
tapit create release docker_tag=${DOCKER_TAG} git_hash=${GITHUB_SHA} git_tag=${GITHUB_REF_NAME}

List Releases

tapit  list releases

Shows all releases for your application with their metadata and approval status.

Create Release Approval

tapit  create approval docker_tag=tag

Approves a release, marking it as authorized for deployment. Used in approval-gated deployment workflows.

Required Parameters

  • docker_tag: The Docker image tag of the release to approve

Examples

# Approve a release for deployment
tapit create approval docker_tag=v1.2.3-abc123

Import Release Notes

tapit  import release_notes docker_tag=tag < release_notes_file

Attaches release notes content to an existing release record. The notes are read from stdin.

Required Parameters

  • docker_tag: The Docker image tag of the release to attach notes to
  • Input: Release notes content provided via stdin

Examples

# Import release notes from a file
tapit import release_notes docker_tag=v1.2.3-abc123 < CHANGELOG.md

# Import from a generated notes file
tapit import release_notes docker_tag=${DOCKER_TAG} < release_notes.txt

Release Workflow

A typical release workflow in CI/CD:

# 1. Build the Docker image
tapit image build tag=v1.2.3 git_hash=$GITHUB_SHA

# 2. Create a release record
tapit create release docker_tag=v1.2.3-$GITHUB_SHA git_hash=$GITHUB_SHA git_tag=v1.2.3

# 3. Attach release notes
tapit import release_notes docker_tag=v1.2.3-$GITHUB_SHA < CHANGELOG.md

# 4. Approve the release (if approval workflow is enabled)
tapit create approval docker_tag=v1.2.3-$GITHUB_SHA

# 5. Deploy the release
tapit create deploy docker_tag=v1.2.3-$GITHUB_SHA