Dynamically setting orb parameters

How do you perform a loop with an orb? I’m using the below orb but need to build multiple images with docker files in different folders, how would I dynamically change the parameters path and repo? I’m considering using docker-compose for this, but that still won’t address dynamically changing the ECR, for each image to be pushed

orbs:
aws-ecr: circleci/aws-ecr@x.y.z
version: 2.1
workflows:
build_and_push_image:
jobs:
- aws-ecr/build-and-push-image:
account-url: AWS_ECR_ACCOUNT_URL_ENV_VAR_NAME
aws-access-key-id: ACCESS_KEY_ID_ENV_VAR_NAME
aws-secret-access-key: SECRET_ACCESS_KEY_ENV_VAR_NAME
context: myContext
create-repo: true
dockerfile: myDockerfile
no-output-timeout: 20m
path: pathToMyDockerfile
profile-name: myProfileName
region: AWS_REGION_ENV_VAR_NAME
repo: myECRRepository
skip-when-tags-exist: false
tag: ‘latest,myECRRepoTag’

Sounds like you are looking for matrix builds :+1:

Another example: CircleCI Developer Hub - circleci/node

So try something like this:

- aws-ecr/build-and-push-image:
  account-url: AWS_ECR_ACCOUNT_URL_ENV_VAR_NAME
  aws-access-key-id: ACCESS_KEY_ID_ENV_VAR_NAME
  aws-secret-access-key: SECRET_ACCESS_KEY_ENV_VAR_NAME
  context: myContext
  create-repo: true
  no-output-timeout: 20m
  path: pathToMyDockerfile
  profile-name: myProfileName
  region: AWS_REGION_ENV_VAR_NAME
  repo: myECRRepository
  skip-when-tags-exist: false
  tag: ‘latest,myECRRepoTag’
  matrix:
    parameters:
      dockerfile: ["./1/dockerfile", "./2/dockerfile"]

You might also look into path filtering: CircleCI Developer Hub - circleci/path-filtering

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.