Promotion and Environments
The CD Pipelines of Jenkins X automate the promotion of version changes through each Environment which is configured with a promotion strategy property of Auto
. By default the Staging
environment uses automatic promotion and the Production
environment uses Manual
promotion.
To manually Promote a version of your application to an environment use the jx promote command.
jx promote --app myapp --version 1.2.3 --env production
The command waits for the promotion to complete, logging details of its progress. You can specify the timeout to wait for the promotion to complete via the --timeout
argument.
e.g. to wait for 5 hours
jx promote --app myapp --version 1.2.3 --env production --timeout 5h
You can use terms like 20m
or 10h30m
for the various duration expressions.

Feedback
If the commit comments reference issues (e.g. via the text fixes #123
) then Jenkins X pipelines will generate release notes like those of the jx releases.
Also as the version with those new commits is promoted to Staging
or Production
you will get automated comments on each fixed issue that the issue is now available for review in the corresponding environment along with a link to the release notes and a link to the app running in that environment. e.g.

Promoting external apps
There may be apps that have already been released by other teams or companies who maybe don’t yet use Jenkins X and the applications are not already in your helm chart repository.
If you wish to search your helm repositories for an application to promote you can use the -f
for filter option to find a chart to promote.
e.g. to find a redis
chart to promote to staging you could do:
jx promote -f redis --env staging
For databases you may want to alias (via --alias
) the name of the chart to be a logical name for the kind of database you need. As you may need multiple databases in the same environment for different microservices. e.g.
jx promote -f postgres --alias salesdb --env staging
If you cannot find the particular application you are looking for you may need to add a helm chart repository to your helm installation via:
helm repo add myrepo https://something.acme.com/charts/
for example to add the stable community charts:
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
"stable" has been added to your repositories
to add the incubator community charts:
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
"incubator" has been added to your repositories
There are huge numbers of charts already created and maintained by the community these days. If you want to add your own apps developed outside of Jenkins X you just need to package the YAML as a helm chart and install it in a chart repository.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.