An up-to-date image to easily sign commit, use commitizen and publish release with semantic-release
10K+
A Node.js Docker image with commitizen and semantic-release:
multiarch with support of amd64 and arm64,SBOM) changes,SBOM) attestation added using Syft,Use task with the git task template:
task git:commit KEY_PATH|K=<key_full_path> MESSAGE|M=<message> [OPTION|O="<options>"] [PULL|P=<n|N>]
or manual:
# Start a container with the mount point of your private key and your git repository
docker run -d --name commit -v "<absolute_path_private_key:/Private" -v "$(pwd):/data" jfxs/commitizen-semantic-release sleep infinity
# Import your private key
docker exec -it commit /bin/sh -c 'export GPG_TTY=$(tty); gpg --batch --import /private/<private_key>'
# Commit
docker exec -it commit /bin/sh -c 'export GPG_TTY=$(tty); git commit -S --signoff -m "Your commit message"'
# Stop and delete the container
docker stop commit && docker rm commit
Commitizen with cz-conventional-changelogUse task with the git task template:
task git:commitizen KEY_PATH|K=<key_full_path> [PULL|P=<n|N>]
or manual:
# Start a container with the mount point of your private key and your git repository
docker run -d --name commit -v "<absolute_path_private_key:/Private" -v "$(pwd)/data" jfxs/commitizen-semantic-release sleep infinity
# Import your private key
docker exec -it commit /bin/sh -c 'export GPG_TTY=$(tty); gpg --batch --import /private/<private_key>'
# Commit
docker exec -it commit /bin/sh -c 'export GPG_TTY=$(tty); npx cz --signoff'
# Stop and delete the container
docker stop commit && docker rm commit
semantic-releaseExample of usage with Gitlab-CI:
...
gitlab-release:
image: jfxs/commitizen-semantic-release
stage: gitlab-release
script:
- npx semantic-release
rules:
- if: $CI_COMMIT_TAG
when: never
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
Docker latest tag is 25.0.8-003, 25.0, 25 and has:
| Name | Version | Type |
|---|---|---|
| @semantic-release/changelog | 7.0.0 | npm |
| @semantic-release/commit-analyzer | 13.0.1 | npm |
| @semantic-release/exec | 7.1.0 | npm |
| @semantic-release/git | 11.0.1 | npm |
| @semantic-release/github | 12.0.9 | npm |
| @semantic-release/gitlab | 13.3.3 | npm |
| @semantic-release/release-notes-generator | 14.1.1 | npm |
| commitizen | 4.3.2 | npm |
| cz-conventional-changelog | 3.3.0 | npm |
| git | 1:2.39.5-0+deb12u3 | deb |
| github.com/go-task/task/v3 | v3.52.0 | go-module |
| gnupg | 2.2.40-1.1+deb12u2 | deb |
| node | 24.18.0 | UnknownPackage |
| semantic-release | 25.0.8 | npm |
Dockerhub Overview page has the details of the last published image.
Docker tag definition:
<semantic-release_version>-<increment>
Example: 23.0.0-001
Cosign public key:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEa3yV6+yd/l4zh/tfT6Tx+zn0dhy3
BhFqSad1norLeKSCN2MILv4fZ9GA6ODOlJOw+7vzUvzZVr9IXnxEdjoWJw==
-----END PUBLIC KEY-----
The public key is also available online: https://gitlab.com/op_so/docker/cosign-public-key/-/raw/main/cosign.pub.
To verify an image:
cosign verify --key cosign.pub $IMAGE_URI
To verify and get the software bill of materials (SBOM) attestation:
cosign verify-attestation --key cosign.pub --type spdxjson $IMAGE_URI | jq '.payload | @base64d | fromjson | .predicate'
This program is free software: you can redistribute it and/or modify it under the terms of the MIT License (MIT). See the LICENSE for details.
Content type
Image
Digest
sha256:46a26e23f…
Size
168.8 MB
Last updated
2 months ago
docker pull jfxs/commitizen-semantic-release