Skip to content

Commit

Permalink
Release lifecycle management docs updates (#2136)
Browse files Browse the repository at this point in the history
  • Loading branch information
eyalbe4 committed Aug 16, 2023
1 parent a59d303 commit 32e142c
Showing 1 changed file with 53 additions and 52 deletions.
105 changes: 53 additions & 52 deletions documentation/CLI-for-JFrog-Lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,11 @@ Read more about JFrog CLI [here](https://jfrog.com/help/r/jfrog-cli).
**Note**
> JFrog Release Lifecycle Management is only available since [Artifactory 7.63.2](https://jfrog.com/help/r/jfrog-release-information/artifactory-7.63.2-cloud).
---

### Commands

The following sections describe the commands available in JFrog CLI for use with the Release Lifecycle Management functionality.

### Creating a release bundle from builds or from existing release bundles

This command allows creating a release bundle from a published build-info or an existing release bundle.
1. To create a release bundle from published build-infos, provide the `--builds` option, which accepts a path to a file, with the following JSON format:
## Creating a Release Bundle from builds or from existing Release Bundles
Use this command to create a Release Bundle from one of two sources:
1. Published build infos. To use, provide the `--builds` option, which accepts a path to a JSON file with the following syntax:
```json
{
"builds": [
Expand All @@ -30,11 +26,11 @@ This command allows creating a release bundle from a published build-info or an
]
}
```
`number` is optional, latest build will be used if empty.
`number` is optional (if left empty, the latest build will be used)

`project` is optional, default project will be used if empty.

2. To create a release bundle from existing release bundles, provide the `--release-bundles` option, which accepts a path to a file, with the following JSON format:
`project` is optional (if left empty, the default project will be used)
2. Existing Release Bundles. To use, provide the `--release-bundles` option, which accepts a path to a JSON file with the following syntax:
```json
{
"releaseBundles": [
Expand All @@ -46,56 +42,59 @@ This command allows creating a release bundle from a published build-info or an
]
}
```
`project` is optional, default project will be used if empty.

| | |
|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Command-name | release-bundle-create |
| Abbreviation | rbc |
| Command options | |
| --builds | \[Optional\]<br><br>Path to a JSON file containing information about source builds from which to create a release bundle. |
| --project | \[Optional\]<br><br>JFrog Project key associated with the Release Bundle version. |
| --release-bundles | \[Optional\]<br><br>Path to a JSON file containing information about source release bundles from which to create a release bundle. |
| --server-id | \[Optional\]<br><br>Platform server ID configured using the `jf c add` command. |
| --signing-key | \[Mandatory\]<br><br>The GPG/RSA key-pair name given in Artifactory. |
| --sync | \[Default: false\]<br><br>Set to true to run synchronously. |
| Command arguments | |
| release bundle name | Name of the newly created Release Bundle. |
| release bundle version | Version of the newly created Release Bundle. |

#### Examples

##### Example 1

Create a release bundle with name "myApp" and version "1.0.0", with signing key pair "myKeyPair".
The release bundle will include artifacts of the builds that were provided in the builds spec.
`project` is optional (if left empty, the default project will be used)

| | |
|------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| Command-name | release-bundle-create |
| Abbreviation | rbc |
| Command options | |
| --builds | \[Optional\]<br><br>Path to a JSON file containing information of the source builds from which to create a Release Bundle. |
| --project | \[Optional\]<br><br>Project key associated with the Release Bundle version. |
| --release-bundles | \[Optional\]<br><br>Path to a JSON file containing information about the source Release Bundles from which to create a Release Bundle. |
| --server-id | \[Optional\]<br><br>Platform server ID configured using the config command. |
| --signing-key | \[Mandatory\]<br><br>The GPG/RSA key-pair name given in Artifactory. |
| --sync | \[Default: false\]<br><br>Set to true to run synchronously. |
| Command arguments | |
| release bundle name | Name of the newly created Release Bundle. |
| release bundle version | Version of the newly created Release Bundle. |

### Examples
#### Example 1
Create a Release Bundle with the name "myApp" and version "1.0.0", with the signing key pair "myKeyPair".
The Release Bundle will include the artifacts included in the builds that were provided in the builds spec.
```
jf rbc --builds=/path/to/builds-spec.json --signing-key=myKeyPair myApp 1.0.0
```
##### Example 2
Create a release bundle with name "myApp" and version "1.0.0", with signing key pair "myKeyPair".
The release bundle will include artifacts of the release bundles that were provided in the release bundles spec.
#### Example 2
Create a Release Bundle with the name "myApp" and version "1.0.0", with the signing key pair "myKeyPair".
The Release Bundle will include the artifacts included in the Release Bundles that were provided in the Release Bundles spec.
```
jf rbc --spec=/path/to/release-bundles-spec.json --signing-key=myKeyPair myApp 1.0.0
```
##### Example 3
Create a release bundle synchronously with name "myApp" and version "1.0.0", in project "project0", with signing key pair "myKeyPair".
The release bundle will include artifacts of the release bundles that were provided in the release bundles spec.
#### Example 3
Create a Release Bundle synchronously with the name "myApp" and version "1.0.0", in the project "project0", with the signing key pair "myKeyPair".
The Release Bundle will include the artifacts included in the Release Bundles that were provided in the Release Bundles spec.
```
jf rbc --spec=/path/to/release-bundles-spec.json --signing-key=myKeyPair --sync=true --project=project0 myApp 1.0.0
```
### Promoting a release bundle
This commands allows promoting a release bundle to a target environment.
## Promoting a Release Bundle
Use this command to promote a Release Bundle to a target environment.
| | |
|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Command-name | release-bundle-promote |
| Abbreviation | rbp |
| Command options | |
| --overwrite | \[Default: false\]<br><br>Set to true to replace artifacts with the same name but a different checksum if such already exist at the promotion targets. By default, the promotion is stopped in a case of such conflict |
| --overwrite | \[Default: false\]<br><br>Set to true to replace artifacts with the same name but a different checksum if such already exist at the promotion targets. By default, the promotion is stopped in the case of a conflict. |
| --project | \[Optional\]<br><br>Project key associated with the Release Bundle version. |
| --server-id | \[Optional\]<br><br>Platform server ID configured using the config command. |
| --signing-key | \[Mandatory\]<br><br>The GPG/RSA key-pair name given in Artifactory. |
Expand All @@ -105,19 +104,21 @@ This commands allows promoting a release bundle to a target environment.
| release bundle version | Version of the Release Bundle to promote. |
| environment | Name of the target environment for the promotion. |
#### Examples
##### Example 1
### Examples
Promote a release bundle named "myApp" version "1.0.0" to environment "PROD".
Use signing key pair "myKeyPair".
#### Example 1
Promote a Release Bundle named "myApp" version "1.0.0" to environment "PROD".
Use the signing key pair "myKeyPair".
```
jf rbp --signing-key=myKeyPair myApp 1.0.0 PROD
```
##### Example 2
#### Example 2
Promote a release bundle synchronously to environment "PROD".
The release bundle is named "myApp", version "1.0.0", of project "project0".
Use signing key pair "myKeyPair" and overwrite at conflict.
```
jf rbp --signing-key=myKeyPair --project=project0 --overwrite=true --sync=true myApp 1.0.0 PROD
```
```

0 comments on commit 32e142c

Please sign in to comment.