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 releaserelease_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 releasesShows all releases for your application with their metadata and approval status.
Create Release Approval
tapit create approval docker_tag=tagApproves 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-abc123Import Release Notes
tapit import release_notes docker_tag=tag < release_notes_fileAttaches 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.txtRelease 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