mirror of
https://github.com/certbot/certbot.git
synced 2026-01-26 07:41:33 +03:00
Fixes https://github.com/certbot/certbot/issues/8208.
Fixes https://github.com/certbot/certbot/issues/8198.
In addition to those two linked issues, this PR:
* Splits both the build and deploy steps based on architecture for performance. The Docker builds should no longer be the bottleneck in any stage of the pipeline.
* Skips building Docker images for ARM on `test-` branches like [we do for snaps](e8a232297d/.azure-pipelines/templates/jobs/packaging-jobs.yml (L67-L71)). I initially didn't want to do this, but the ARM builds take ~18 minutes which is significantly longer than any other job currently running on our `test-` branches.
You can see tests running on my fork at:
* [Release pipeline](https://dev.azure.com/bmw0523/bmw/_build/results?buildId=387&view=results)
* [Test pipeline](https://dev.azure.com/bmw0523/bmw/_build/results?buildId=388&view=results)
* [Nightly pipeline](https://dev.azure.com/bmw0523/bmw/_build/results?buildId=390&view=results)
* update script intro
* update readme
* ParseRequestedArch
* build all arch in Azure
* Build docker images during testing/packaging.
* require global variable?
* Error if TAG_BASE is empty.
* prepare build job
* change variable syntax
* Update deploy stage.
* remove old dockerTag param
* add displayName
* fix docker images command
* split docker_build by arch
* Allow deploying a subset of architectures.
* deploy in parallel
* Skip ARM builds on test- branches.
* fix spacing
37 lines
1.8 KiB
Markdown
37 lines
1.8 KiB
Markdown
Running Certbot in Docker
|
|
=========================
|
|
|
|
Docker is an amazingly simple and quick way to obtain a certificate. However, this mode of operation is unable to install certificates automatically or configure your webserver, because our installer plugins cannot reach your webserver from inside the Docker container.
|
|
|
|
**Most users should install Certbot by following the installation instructions at https://certbot.eff.org/instructions. You should only use Docker if you are sure you know what you are doing (you understand [volumes](https://docs.docker.com/storage/volumes/)) and have a good reason to do so, such as following the [one service per container rule](https://docs.docker.com/config/containers/multi-service_container/).**
|
|
|
|
For more information, please read [Certbot - Running with Docker](https://certbot.eff.org/docs/install.html#running-with-docker).
|
|
|
|
|
|
Certbot Docker Tools
|
|
======================
|
|
|
|
Goal
|
|
----
|
|
|
|
This code is used to build and deploy new versions of the Certbot and Certbot
|
|
DNS plugin Docker images to Docker Hub.
|
|
|
|
High-level behavior
|
|
-------------------
|
|
|
|
Running `./build.sh <TAG> all && ./deploy.sh <TAG> all` causes the Docker
|
|
images to be built and deployed to Docker Hub for all supported architectures
|
|
where `<TAG>` is the base of the tag that should be given to the given images.
|
|
The tag should either be `nightly` or a git version tag like `v0.34.0`. The
|
|
given tag is only the base of the tag because the CPU architecture is also
|
|
added to the tag.
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
To run these scripts you need:
|
|
|
|
1. An x86_64 machine with Docker installed and the Docker daemon running. You probably don't want to use the docker snap as these scripts have failed when using that in the past.
|
|
2. To be logged into Docker Hub with an account able to push to the Certbot and Certbot DNS Docker images on Docker Hub.
|