Skip to content

Spike: Deprecate Docker images in favor of parallel deployments artifacts

Splitting from the discussions:

With the transition to Hugo, we won't need to create Docker images at all (because of Hugo's speed). We would create branches, build the site based on the branch version, and deploy it to parallel pages. We could store the artifact that holds the HTML files in place of the Docker image, so that the offline docs still work (one would download the artifact instead of the Docker image).

For the archives, if we do this, we'll need another job for the archives like the one created for versions prior to 15.6. The current job relied on the Docker image, we'd need to rely on the artifact instead.

Another note: what if we uploaded the artifact as a generic package? 🤔 This should be fun and give us more room to play, as the generic package has some nice features, like memorable URLs (the artifact has the job number in it and it could change), ability to host multiple versions of one package, etc.

However, those two scenarios (artifacts, generic packages) have a drawback: We sometimes need to re-run a version's pipeline to pull updated content from the upstream projects, or we may need to backport some Hugo code. With the Docker image, we'd replace it and the URL would not change.

Using the artifacts would mean the job's URL would change (not making it easy to automate and possibly include in other pages). Using packages, we could perhaps upload the same file and according to the docs, if we allow duplicates:

By default, when you publish a package with the same name and version as an existing package, the new files are added to the existing package.

Edited by Achilleas Pipinellis