From 0fc6579d448c4a935677410eaad289c7531e60c4 Mon Sep 17 00:00:00 2001 From: Craig Osterhout Date: Fri, 14 Nov 2025 10:12:28 -0800 Subject: [PATCH] hub: add migrate autobuilds Signed-off-by: Craig Osterhout --- _vale/config/vocabularies/Docker/accept.txt | 1 + .../builds/images/autobuild-example.png | Bin 0 -> 88217 bytes .../docker-hub/repos/manage/builds/migrate.md | 187 ++++++++++++++++++ 3 files changed, 188 insertions(+) create mode 100644 content/manuals/docker-hub/repos/manage/builds/images/autobuild-example.png create mode 100644 content/manuals/docker-hub/repos/manage/builds/migrate.md diff --git a/_vale/config/vocabularies/Docker/accept.txt b/_vale/config/vocabularies/Docker/accept.txt index 1af8e5b489e5..52c5c7e8a1ed 100644 --- a/_vale/config/vocabularies/Docker/accept.txt +++ b/_vale/config/vocabularies/Docker/accept.txt @@ -261,6 +261,7 @@ Zsh [Pp]roxied [Pp]roxying [pP]yright +[Rr]eadme [Rr]eal-time [Rr]egex(es)? [Rr]untimes? diff --git a/content/manuals/docker-hub/repos/manage/builds/images/autobuild-example.png b/content/manuals/docker-hub/repos/manage/builds/images/autobuild-example.png new file mode 100644 index 0000000000000000000000000000000000000000..e1ee9af139b1cf379d163ee85cacedf876dbe8a3 GIT binary patch literal 88217 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

nN=vKeVEnv^^a~ji`R`26~Slc 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 z zgK&oI;7YIqkL%cec*15%alTZ1+X%WK~J?$g+1^KDbI#-TkG9|Fk>;9~liZW)#9h=jF1X4ooT-BbFV7*GvzJbN`Cb z-i{K@Na0v~Ey*&|^PxRIuDKSQFB$`vDbvs{SR!zIYp;wVH4NYqesH7pDT@RRzVk$u zZ)u51za)z3%T5hfI=~}9Y&viYX506Po8p_UO*_esF3<4j(4fa-Tv&qdqa=#k`Vymn zmnimIKB#PMes>oG+Re;0N<7j==R8=3Wl=P%xQi6Tk;P`rUk9T4wFXrwWwG@50dMHcYQ9o6!6n)X4Fu626 z!LCR%#r8w#q*X7(dz2|~vlsE5D$B=V5f37D#JM(jTMlES1Vu@fO)TJ)#iW9K5ZThQCw;VNLC6im z$-Rms*{?3zum&v(rGR=H8yhCeIl+V{hom`%4NxIM^;a!?csk-hsJZ)&n=0C26aw@Z`PyK6~JeZ{$bO4t%%?9n-W zOyRW(>rYPHliWST5l6};*;jczagrxkz@P0Q+sfe$)1|p7wIK9PB>hx{fIa@+^Lh~M zIMq0$`2053#w-e3zo~p;yz6bgC;?2ab2c0{_sN2tKcis_^anDG>-O>4;0_ z^=j6{_cdCdfRN^(sZchYEQ=3=h4aBfyD3=FjfF}`g)6S$Afe7G8?z`2!S z0fDFsrdfwiL3DNuimf`h^`xKSov~S_7vWA@9<(hh5xf}%JoUr)l8sJU09oPu`TM2v9KV%we2DR3M9)Q0MVW)Ab2(%79=F(Qf;); z_ORqs&^Ac`pGzWuXs4oQKY+5ri8j?!XQ&gv+Mg-BfiHjn2TF91kG;(>?oY%vDFPr{ z0FwfuD1e+!TJbqDMHrxocpTOoqLdXu#b`tPt6%HIm4I_(_X0-EiB|w|9>1U4*5v1b ztWG^SqR_kWXbWp)ig3bUfk4_X|4Gu z)+96fUlN1w$zMc8iPB3_K3AC$4v9jemz;t3E^;0~(6r1`8$yP_iIby7mxniqF8}H| z0PI`DtFxfQqdE-${A5CWs2UrKSRNjpf}`icKx7j?u#z~pRd@-AGZ3!XX;oz;K(6sQ=L?s6jqk z35}Bat-U+Qi2@+}*(W!Ku3XL5P4nN#n*3#>)xQCC-HTdj9UYyQK;7}~aO}Uo0!HT+ z74Z*1Co>mNnC3km$@3yp{pS*1u^$>OTYEb{a|0IncU1pXW%*9TKVfb*B}0}Epz`sj z^>9i%wxC;Ktp-1TTmKtIt@NEG|jJE$#sTgHE6J?_zqToRd|2Z*qLnj`HC(q6#RY^ XfOBP$X_?_W`?r?5o*Gfb>dAitgmWS2 literal 0 HcmV?d00001 diff --git a/content/manuals/docker-hub/repos/manage/builds/migrate.md b/content/manuals/docker-hub/repos/manage/builds/migrate.md new file mode 100644 index 000000000000..69bdc1b85c2c --- /dev/null +++ b/content/manuals/docker-hub/repos/manage/builds/migrate.md @@ -0,0 +1,187 @@ +--- +description: Migrate from Autobuilds to CI/CD workflows +keywords: automated builds, autobuilds, migration, github actions, bitbucket pipelines +title: Migrate from Autobuilds +linkTitle: Migrate +weight: 80 +--- + +This guide explains how to migrate your Docker Hub Autobuilds setup to +Continuous Integration (CI) workflows, focusing on GitHub Actions and Bitbucket +Pipelines as these are the built-in CI services for the two version control +services supported via Autobuilds. + +## Step 1: Create access tokens + +To grant your CI workflows the ability to pull and push images to and from +Docker Hub, you first need to create access tokens: + +- For a personal repository: Create a [Personal + AccessToken](../../../../security/access-tokens.md) with **Read & Write** + permissions. + +- For an organization repository: Create an [Organization Access + Token](../../../../enterprise/security/access-tokens.md) with the following + permissions: + - **Read public repositories** + - **Image Pull** on any private repositories that the build needs to pull from + - **Image Push** on the repository that the built image will be pushed to + +The same token can be used for all CI workflows under the account's namespace +provided it has adequate permissions to all relevant Docker Hub repositories. + +Make sure to save the generated token in a safe location for use when setting up +the CI workflows. + +## Step 2: Extract your Autobuilds configuration + +For each Docker Hub repository currently configured to use Autobuilds, you need +to extract its configuration to set up your CI workflows to duplicate the +existing functionality. The only way to extract the configuration is via the +Docker Hub web interface. + +1. Sign in to [Docker Hub](https://hub.docker.com). + +2. Navigate to your repository by going to **My Hub** > ***Your namespace*** > + **Repositories** > ***Your Repository***. + +3. Go to the **Builds** tab and select **Configure automated builds**. + + If there is no existing build configuration, then this repository is not + configured for Autobuilds. + +4. Note the following configuration details: + + - **Source Repository**: The GitHub or Bitbucket repository. The organization + is the namespace and the repository is the repository name. This is where + you need to add your workflow. + + - **Autotest**: If Autotest is enabled for Pull Requests (either internal + only or internal and external), then extra steps are needed in your + workflow to run the Autotest step. + + - **Repository Links**: Not supported and can be ignored. If chain builds are + required, see the documentation for your CI service on how to chain builds + together. + + - **Build Rules**: Specify the triggers, tags, and paths of your builds. + Ignore any entry where **Autobuild** is toggled off. + + - **Build Environment Variables**: User-defined variables injected as + environment variables into your build. You need to add these to your + workflow. If the environment variables are secret, add them as secrets in + the CI service and change your build instructions to read the data from the + secrets. See your CI service documentation on how to handle secrets. + +### Example configuration + +The following image shows an example Autobuilds configuration. + +![Example Autobuilds configuration](./images/autobuild-example.png) + +Based on the pictured example, you would note the following items for this +Autobuilds configuration: + +- Source code repository: GitHub repository `docker/docker-rust-hello` +- Autotest: Disabled +- Build rule 1: Build and push the image with tag `latest` when a new commit to + the `main` branch is detected. The Dockerfile is at `./Dockerfile` and the + build context is the root of the cloned code. +- Build rule 2: Build and push the image with tag `v{\1}` when a new commit + to a tag matching the regex `^v([0-9.]+)$` is detected. The Dockerfile is at + `./Dockerfile` and the build context is the root of the cloned code. +- Environment variable: Key `ENV_KEY` with value `ENV_VALUE` + +## Step 3: Migrate to your CI/CD platform + +Select the tab that matches your source code repository hosting platform. + +{{< tabs >}} +{{< tab name="GitHub Actions" >}} + +If your source code repository is hosted on GitHub, see the [Docker +test-autobuilds example repository](https://github.com/docker/test-autobuilds). + +All files except those under the `.github/workflows` directory are for example +purposes only. + +The repository's readme details how to migrate from Autobuilds to GitHub Actions +using one of the two provided workflows: + +- The `simple-build` workflow builds and pushes a Docker image to your Docker + Hub repository. +- The `full-autobuilds` workflow contains all the steps commonly used within an + Autobuilds run, including building, tagging, running Docker Compose tests, and + running optional bash hook files. + +### Steps to migrate + +1. Follow the instructions in the [example repository + readme](https://github.com/docker/test-autobuilds) to configure a CI GitHub + Action workflow in your GitHub repository. + +2. The workflows contain comments on what each step does and where changes + should be made. Important changes to make include: + + - Set the `DOCKER_REPOSITORY_NAME` environment variable to the full name of your Docker Hub repository + - Set your image tagging policy + - Set the workflow triggers + + Links to relevant documentation are provided in the readme and the workflow comments. + +3. After you have completed migrating to GitHub Actions, delete the build + configuration from your Docker Hub repository: + + 1. Navigate to the repository's **Builds** tab. + + 2. Select **Configure automated builds**. + + 3. Select **Delete Build Configuration**. + +{{< /tab >}} +{{< tab name="Bitbucket Pipelines" >}} + +If your source code repository is hosted on Bitbucket, see the [Docker +test-autobuilds-bitbucket example +repository](https://bitbucket.org/docker/test-autobuilds-bitbucket). + +All files except the `bitbucket-pipelines.yml` file are for example purposes only. + +The repository's readme details how to migrate from Autobuilds to Bitbucket +Pipelines using the provided example `bitbucket-pipelines.yml` configuration +file. + +The pipeline example contains three separate pipelines: + +- `branches/main`: Shows how to build, test, and push an image on changes to a specific branch +- `tags/*`: Shows how to build, test, and push an image on tag pushes, including + tagging the image the same as the Git tag +- `pull-requests/*`: Shows how to build and test, but not push, an image from a pull request + +### Steps to migrate + +1. Follow the instructions in the [example repository + readme](https://bitbucket.org/docker/test-autobuilds-bitbucket) to configure + a Bitbucket Pipeline in your Bitbucket repository. + +2. Comments in the pipeline configuration explain what each part does and where + changes need to be made. Important changes to make include: + + - Set the `DOCKER_REPOSITORY_NAME` environment variable to the full name of + your Docker Hub repository + - Set your image tagging policy (see where the `DOCKER_TAG` variable is set in each pipeline) + - Set the pipeline triggers for branches, tags, and/or pull-requests + + Links to relevant documentation are provided in the readme and the workflow comments. + +3. After you have completed migrating to Bitbucket Pipelines, delete the Build + configuration from your Docker Hub repository: + + 1. Navigate to the repository's **Builds** tab. + + 2. Select **Configure automated builds**. + + 3. Select **Delete Build Configuration**. + +{{< /tab >}} +{{< /tabs >}}