FAQ | This is a LIVE service | Changelog

Skip to content
Snippets Groups Projects
  • Ryan Kowalewski's avatar
    ae784e50
    feat: add multi platform build support · ae784e50
    Ryan Kowalewski authored
    Testing this process showed that multi-platform builds can be quite flaky or extremely
    slow, depending on the complexities of each image's Dockerfile etc. With this in mind,
    this commit leaves the default image type as `linux/amd64` but allows us to override
    each build job as required using the `IMAGE_ARCHS` variable.
    
    Initially, all `logan-terraform` jobs have been set to build both amd64 and arm64 image
    types as this is the main requirement at this time.
    
    Given the differences between the `docker build` and `docker buildx build` command usage,
    the previous job functions have been refactored as a standalone `build.sh` file. The logic
    is identical to the previous functions, however, the method is slightly different. This is
    mostly due to the `docker buildx` command not having `tag` sub-command, instead, it uses
    `--tag` and `--push` options on a single `docker buildx build` command to both build and
    push images in one go.
    ae784e50
    History
    feat: add multi platform build support
    Ryan Kowalewski authored
    Testing this process showed that multi-platform builds can be quite flaky or extremely
    slow, depending on the complexities of each image's Dockerfile etc. With this in mind,
    this commit leaves the default image type as `linux/amd64` but allows us to override
    each build job as required using the `IMAGE_ARCHS` variable.
    
    Initially, all `logan-terraform` jobs have been set to build both amd64 and arm64 image
    types as this is the main requirement at this time.
    
    Given the differences between the `docker build` and `docker buildx build` command usage,
    the previous job functions have been refactored as a standalone `build.sh` file. The logic
    is identical to the previous functions, however, the method is slightly different. This is
    mostly due to the `docker buildx` command not having `tag` sub-command, instead, it uses
    `--tag` and `--push` options on a single `docker buildx build` command to both build and
    push images in one go.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.