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
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
e.g. to wait for 5 hours
jx promote --app myapp --version 1.2.3 --env production --timeout 5h
You can use terms like
10h30m for the various duration expressions.
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
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.
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.