Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform
Please install version 0.53.0 before installing this new release.
When you are upgrading CDS:
In the full changelog, you will find a lot of commits about "workflow v2
" / "ui
" / "hook
" / "ascode
". All this work is here to prepare the new CDS "As Code". You will alredy find some documentation about new features, but we will make a full presentation of the new engine when it will be ready for production use.
As part of this new engine, we had to refactor the way that CDS commmunicates with the VCS Servers (bitbucket, github, etc...). This refactoring makes it easier to manage authorization based on Personal Access Tokens, instead of using oauth2 as before. In the latest version 0.53.0, this was already refactored: you could manage VCS Server with the old and new way. With the version 0.54.1, you can only manage your VCS server one way.
If you migrate from a version 0.53, you have two solutions:
The cdsctl binary contains all commands to manage VCS Server on your CDS projects.
cdsctl experimental project YOUR_CDS_PROJECT_KEY
, replace YOUR_CDS_PROJECT_KEY
with the KEY of your CDS Project.
Generate a new token on https://github.com/settings/tokens with the following scopes:
Create a yml file, example of vcs-github.yml
file:
version: v1.0
name: github
type: github
description: "my github"
auth:
username: your-username
token: ghp_your-token-here
options:
urlApi: "" # optional, default is https://api.github.com
disableStatus: false # Set to true if you don't want CDS to push statuses on the VCS server - optional
disableStatusDetails: false # Set to true if you don't want CDS to push CDS URL in statuses on the VCS server - optional
disablePolling: false # Does polling is supported by VCS Server - optional
disableWebHooks: false # Does webhooks are supported by VCS Server - optional
Then import the configuration:
cdsctl project vcs import YOUR_CDS_PROJECT_KEY vcs-github.yml
Example with vcs-bitbucket.yml
file:
version: v1.0
name: bitbucket
type: bitbucketserver
description: "My Bitbucket Datacenter"
url: "http://localhost:7990/bitbucket"
auth:
user: username-on-bitbucket
token: the-long-token-here
options:
disableStatus: false # Set to true if you don't want CDS to push statuses on the VCS server - optional
disableStatusDetails: false # Set to true if you don't want CDS to push CDS URL in statuses on the VCS server - optional
disablePolling: false # Does polling is supported by VCS Server - optional
disableWebHooks: false # Does webhooks are supported by VCS Server - optional
Then import:
cdsctl project vcs import YOUR_CDS_PROJECT_KEY vcs-bitbucket.yml
It's the same as solution A, but your will find the useful commands with cdsctl project vcs
(instead of cdsctl experimental project vcs
)
The version 0.54.1 allows you to use the webui to configure the VCS project.
Full Changelog: https://github.com/ovh/cds/compare/v0.53.0...v0.54.1
Please install version 0.52.0 before installing this new release.
When you are upgrading CDS:
The version 0.52.0 introduced the notion of Organization in CDS for all authentication drivers. In 0.53.0, organizations are now mandatory.
Full Changelog: https://github.com/ovh/cds/compare/v0.52.0...v0.53.0
You have to install version 0.51.0 or newer if you want to upgrade your CDS Instance from a version < 0.51.0 to this newer version.
When you are upgrading CDS:
cdsctl admin migration list
As specified here https://ovh.github.io/cds/hosting/upgrade/migrate_0.51/, the hatchery marathon has been deleted.
This version generalizes the notion of "Organization" in CDS. You can now set organization on your config file (auth section). This is an optional feature but will be mandatory in the next release.
Full Changelog: https://github.com/ovh/cds/compare/0.51.0...0.52.0
You have to install version 0.50.0 or newer if you want to upgrade your CDS Instance from a version < 0.50.0 to this newer version.
When you are upgrading CDS:
More info on https://ovh.github.io/cds/hosting/upgrade/migrate_0.51/
Note that the presentation framework is being migrated (from ng-semantic to ng-zero).
Full Changelog: https://github.com/ovh/cds/compare/0.50.0...0.51.0
You have to install version 0.49.0 or newer if you want to upgrade your CDS Instance from a version < 0.49.0 to this newer version.
When you are upgrading CDS:
cdsctl admin migration list
More info on https://ovh.github.io/cds/hosting/upgrade/migrate_0.50/
Full Changelog: https://github.com/ovh/cds/compare/0.49.0...0.50.0
You have to install version 0.48.1 or newer if you want to upgrade your CDS Instance from a version < 0.48.1 to this newer version.
When you are upgrading CDS:
cdsctl admin migration list
The release 0.49.0 introduced a new parameter to disable and remove a CDN Unit.
More info about it at https://ovh.github.io/cds/hosting/upgrade/migrate_0.49/
You have to install version 0.46.0 or newer if you want to upgrade your CDS Instance from a version < 0.46 to this newer version.
When you are upgrading CDS:
cdsctl admin migration list
The release 0.48.0 introduced a new CDS service called CDN. This service is dedicated to receive and store CDS’s job logs. We created this service to be able to move out job's logs from CDS database to an object storage provider.
In this release, logs are stored both in CDN storage units and CDS database to facilitate migration. Old log data and database table will be removed in a future release.
More info about CDN service at https://ovh.github.io/cds/docs/components/cdn/.
We also completely rework the UI log page to improve logs readability. Thanks to CDN paginated and streaming apis, rendering logs is now faster and efficient.
Workflow run retention policy is now expressed with LUA, this allows to define custom rules for workflows. The default rule will keep a run for one year. More information at https://ovh.github.io/cds/docs/concepts/workflow/retention/.
You have to install version 0.46.0 or newer if you want to upgrade your CDS Instance from a version < 0.46 to this newer version.
When you are upgrading CDS:
cdsctl admin migration list
Workflow run retention policy is now expressed with LUA, this allows to define custom rules for workflows. The default rule will keep a run for one year.
⚠ Be careful, when installing this release the following rule will be applied on all your workflow. Workflow runs that are older than one year will be automatically deleted. You can skip this release and install version 0.48.1 if you don't want to use the retention policy feature. ⚠
If you want to keep Workflow Runs that are older than one year you can edit the default rule in database after running the CDS SQL migrations and before starting CDS API using the following query.
# Example: set default rule to keep Workflow Runs for 2 years
UPDATE workflow SET retention_policy = 'return run_days_before < 730';
The release 0.48.0 introduced a new CDS service called CDN. This service is dedicated to receive and store CDS’s job logs. We created this service to be able to move out job's logs from CDS database to an object storage provider.
In this release, logs are stored both in CDN storage units and CDS database to facilitate migration. Old log data and database table will be removed in a future release.
More info about CDN service at https://ovh.github.io/cds/docs/components/cdn/.
We also completely rework the UI log page to improve logs readability. Thanks to CDN paginated and streaming apis, rendering logs is now faster and efficient.
You have to install version 0.46.0 if you want to upgrade your CDS Instance from a version < 0.46 to a newer version.
When you are upgrading CDS:
cdsctl admin migration list
The release 0.47.x contains a lots of bug fixes & performance improvements.
The CDS UI and hatcheries will now use a Websocket to listen for API events. We also removed the browser shared workers that were used in UI, each CDS tab will use its own Websocket connection.
This release include a migration script to remove some old database tables from CDS. Those tables contains mainly secrets and informations related to user accounts, all that data were migrated in previous release.
You have to install version 0.45.2 if you want to upgrade your CDS Instance from a version < 0.45 to a newer version.
When you are upgrading CDS:
cdsctl admin migration list
The release 0.46.x contains a lots of bug fixes & performance improvements.
Like in previous releases, CDS store encrypted secret in database but now the key that is used to encrypt this secrets can be updated. This key is named the rolling key
.
See section [api.database.encryptionRollingKeys]
and [api.database.signatureRollingKeys]
in file configuration.
You can now use a workflow template with a workflow ascode. When using a template your repository will only contains only one yaml file with a reference to the template that you want to use and the values for all the required template parameters. You can create this file manually or directly with the CDS command line.
Example of .cds/workflow.yml
file with some parameters
name: demo
from: shared.infra/example-with-repository@1
parameters:
deployWhen: manual
repo: github/your-org/demo
ssh_key_name: proj-ssh-key
You will find some template documentation on https://ovh.github.io/cds/docs/concepts/template/.
You can send a notification on all the pipelines, without having to write the name of each pipeline. The shortest syntax for workflow with only one pipeline was removed in the v2. If you have a doubt about the syntax, you can export your workflow from CDS (ui or cdsctl) in v2 to see the good syntax.