Release Definition
sfp server releasedefinition
sfp server releasedefinitionGenerate and manage release definitions based on artifacts using git tags
Commands
sfp server releasedefinition generate- Generate a release definition and publish to server
sfp server releasedefinition generate
sfp server releasedefinition generateGenerate a release definition based on artifacts using git tags and publish to server.
USAGE
$ sfp server releasedefinition generate -c <value> -f <value> -n <value> [--json]
[--repository <value>] [-e <value> | -t <value>] [--sfp-server-url <value>]
[-b <value>] [-m <value>] [--skip-publish] [--loglevel
trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]
FLAGS
-n, --releasename=<value> (required) Set a release name on the release definition
-c, --gitref=<value> (required) Git reference (commit SHA, tag, or HEAD) to generate from
-f, --configfile=<value> (required) Path to the release config file
-b, --branch=<value> Branch name for the release definition
-m, --metadata=<value> Additional metadata in JSON format
--repository=<value> Repository identifier (e.g., owner/repo)
--skip-publish Skip publishing the release definition to server
AUTHENTICATION
-e, --email=<value> Email address for authenticated CLI user
-t, --application-token=<value> Application token for authentication (CI/CD)
--sfp-server-url=<value> URL of the SFP server
OTHER OPTIONS
--json Format output as json
--loglevel=<option> [default: info] logging level for this command invocation
<options: trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL>
DESCRIPTION
Generate a release definition based on artifacts using git tags and publish to server
This command:
1. Analyzes git tags at the specified reference
2. Identifies artifacts and their versions
3. Creates a release definition based on the config file
4. Publishes the definition to the SFP server (unless --skip-publish)
EXAMPLES
$ sfp server releasedefinition generate -n MyRelease -c HEAD -f config/release.yml
$ sfp server releasedefinition generate -n MyRelease -c HEAD -b main -f config/release.yml
$ sfp server releasedefinition generate -n MyRelease -c abc123 -f config/release.yml -m '{"env":"prod"}'
$ sfp server releasedefinition generate -n MyRelease -c HEAD -b develop -f config/release.yml --skip-publish
$ sfp server releasedefinition generate -n "v2.3.0" -c v2.3.0 -f config/prod-release.yml --repository myorg/myrepoRelease Configuration File
The release configuration file defines how the release should be generated:
Common Scenarios
Production Release
Staging Release
Release from Tag
Adding Metadata
Include additional metadata in the release definition:
CI/CD Integration
GitHub Actions
Jenkins Pipeline
Output Formats
Standard Output
JSON Output
Best Practices
Use Semantic Versioning: Name releases with semantic version tags
Include Metadata: Add relevant metadata for tracking and auditing
Version Control Config: Keep release config files in version control
Automate Generation: Integrate with CI/CD for consistent releases
Test First: Use
--skip-publishto test generation before publishing
Troubleshooting
No Artifacts Found
Invalid Git Reference
Note: The git reference must be accessible in the current repository. Ensure you have fetched all necessary tags and branches.
Tip: Use
--skip-publishduring testing to validate the release definition generation without publishing to the server.
Last updated