Very simple, no parameters needed, no enums, no booleans... just a really easy way to trigger a deploy with CircleCI. We can do this making use of the trigger_source pipeline value. When you click the button in CircleCI to "Trigger Pipeline" the value would be api
vs something like webhook
.
version: 2.1 jobs: deploy: machine: image: ubuntu-2204:current steps: - run: echo 'Deploying...' workflows: deploy: when: { equal: [ api, << pipeline.trigger_source >> ] } jobs: - deploy
If your workflow needs a test job, consider doing something a bit more complicated. Here we use two when
conditions to work with a parameter.
version: 2.1 parameters: workflow: type: enum default: test description: The workflow to trigger. enum: [test, deploy] jobs: test-job: machine: image: ubuntu-2204:current steps: - run: echo 'Testing...' deploy-job: machine: image: ubuntu-2204:current steps: - run: echo 'Deploying...' workflows: test: when: { equal: [ test, << pipeline.parameters.workflow >> ] } jobs: - test-job deploy: when: { equal: [ deploy, << pipeline.parameters.workflow >> ] } jobs: - deploy-job
Now your CircleCI config will run tests by default and you can easily trigger a deploy via any branch using the "Trigger Pipeline" button.
Top comments (0)