gautada / drone-container

Drone is a modern continuous integration platform that empowers automated build, test and release workflows using a powerful, cloud native pipeline engine.
0 stars 0 forks source link

Document the multi architecture mechanism to package an image #33

Closed gautada closed 1 year ago

gautada commented 1 year ago

Example 1:

  - podman --remote --connection arm build --build-arg ALPINE_TAG=3.14.2  --file Containerfile --no-cache  --tag drone:dev .
  - podman --remote --connection arm tag drone:dev docker.io/gautada/drone:v2.3.1-arm
  - podman --remote --connection arm login --username=$DOCKER_USERNAME --password=$DOCKER_PASSWORD docker.io
  - podman --remote --connection arm push docker.io/gautada/drone:v2.3.1-arm
  - podman --remote --connection x86 build --build-arg ALPINE_TAG=3.14.2  --build-arg SERVER_BRANCH=v2.3.1 --build-arg RUNNER_BRANCH=v1.0.0-beta.12 --build-arg CLI_BRANCH=v1.4.0 --file Containerfile --no-cache  --tag drone:dev .
  - podman --remote --connection x86 tag drone:dev docker.io/gautada/drone:v2.3.1-x86
  - podman --remote --connection x86 login --username=$DOCKER_USERNAME --password=$DOCKER_PASSWORD docker.io
  - podman --remote --connection x86 push docker.io/gautada/drone:v2.3.1-x86
  - podman --remote --connection arm manifest create drone:man
  - podman --remote --connection arm manifest add drone:man docker.io/gautada/drone:v2.3.1-arm
  - podman --remote --connection arm manifest add drone:man docker.io/gautada/drone:v2.3.1-x86
  - podman --remote --connection arm tag drone:man docker.io/gautada/drone:v2.3.1
  - podman --remote --connection arm login --username=$DOCKER_USERNAME --password=$DOCKER_PASSWORD docker.io
  - podman --remote --connection arm push docker.io/gautada/drone:v2.3.1
  - podman --remote --connection arm rmi drone:man

Example 2

ALPINE_TAG: 3.14.2
SERVER_BRANCH: v2.3.1
RUNNER_BRANCH: v1.0.0-beta.12
CLI_BRANCH: v1.4.0

podman --remote --connection arm build --build-arg ALPINE_TAG=3.14.2 --build-arg SERVER_BRANCH=v2.3.1 --build-arg RUNNER_BRANCH=v1.0.0-beta.12 --build-arg CLI_BRANCH=v1.4.0 --file Containerfile --no-cache  --tag drone:dev .
podman --remote --connection arm tag drone:dev docker.io/gautada/drone:v2.3.1-arm
podman --remote --connection arm login --username=gautada docker.io
podman --remote --connection arm push docker.io/gautada/drone:v2.3.1-arm
podman --remote --connection x86 build --build-arg ALPINE_TAG=3.14.2  --build-arg SERVER_BRANCH=v2.3.1 --build-arg RUNNER_BRANCH=v1.0.0-beta.12 --build-arg CLI_BRANCH=v1.4.0 --file Containerfile --no-cache  --tag drone:dev .
podman --remote --connection x86 tag drone:dev docker.io/gautada/drone:v2.3.1-x86
podman --remote --connection x86 login --username=gautada docker.io
podman --remote --connection x86 push docker.io/gautada/drone:v2.3.1-x86
podman --remote --connection arm manifest create drone:man
podman --remote --connection arm manifest add drone:man docker.io/gautada/drone:v2.3.1-arm
podman --remote --connection arm manifest add drone:man docker.io/gautada/drone:v2.3.1-x86
podman --remote --connection arm tag drone:man docker.io/gautada/drone:v2.3.1
podman --remote --connection arm login --username=gautada docker.io
podman --remote --connection arm push docker.io/gautada/drone:v2.3.1
podman --remote --connection arm rmi drone:man
gautada commented 1 year ago

Documented in readme