# Dynamically setting orb parameters

**URL:** <https://discuss.circleci.com/t/dynamically-setting-orb-parameters/41004>\
**Category:** Deployments\
**Tags:** circle-yml\
**Created:** [August 18, 2021, 7:25pm UTC](https://discuss.circleci.com/t/dynamically-setting-orb-parameters/41004 "2021-08-18T19:25:25Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![danninja](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/danninja/32/28012_2.png) [@danninja](https://discuss.circleci.com/u/danninja)\
**Post date:** [August 18, 2021, 7:25pm UTC](https://discuss.circleci.com/t/dynamically-setting-orb-parameters/41004/1 "2021-08-18T19:25:26Z")

</div>

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’

---

<div class="post-metadata">

**Author:** ![KyleTryon](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/kyletryon/32/9977_2.png) [@KyleTryon](https://discuss.circleci.com/u/KyleTryon)\
**Post date:** [August 27, 2021, 2:23pm UTC](https://discuss.circleci.com/t/dynamically-setting-orb-parameters/41004/2 "2021-08-27T14:23:53Z")

</div>

Sounds like you are looking for matrix builds 👍

> **[CircleCI matrix jobs](https://circleci.com/blog/circleci-matrix-jobs/)**
>
> CircleCI now has support for matrices as part of our workflow syntax. Our matrix implementation works in tandem with our existing support for parameterized jobs, putting it in a unique position to serve a wide variety of use cases.

Another example: [CircleCI Developer Hub - circleci/node](https://circleci.com/developer/orbs/orb/circleci/node#usage-run_matrix_testing)

So try something like this:

```yaml
- 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](https://circleci.com/developer/orbs/orb/circleci/path-filtering)

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/circleci/original/3X/5/1/511608acda8e85906e15909b57bd0a46c1dbe291.png) [@system](https://discuss.circleci.com/u/system)\
**Post date:** [September 6, 2021, 2:24pm UTC](https://discuss.circleci.com/t/dynamically-setting-orb-parameters/41004/3 "2021-09-06T14:24:06Z")

</div>

Closed on September 6, 2021, 2:24pm UTC

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