I'm following the guide for using Travis to deploy to AWS CodeDeploy. In those docs they point to a .travis.yml
example which contains the following code:
deploy:
- provider: s3
access_key_id: AKIAJ4XZHIMNKP3WGGHQ
secret_access_key: &1
secure: <key>
local_dir: dpl_cd_upload
skip_cleanup: true
on: &2
repo: travis-ci/cat-party
bucket: catparty-codedeploy
- provider: codedeploy
access_key_id: AKIAJ4XZHIMNKP3WGGHQ
secret_access_key: *1
bucket: catparty-codedeploy
key: latest.zip
bundle_type: zip
application: CatPartyDemoApplication
deployment_group: ProductionDemoFleet
on: *2
I've got this working and understand the flow (first it uploads the zip file to S3, then it deploys that file to CodeDeploy). What I'm struggling with is the syntax: specifically the on: &2
line in the s3
section, and the on: *2
part in the codedeploy
section. What are these lines doing?
I ask because I want to modify this configuration to deploy to a different CodeDeploy group depending on whether the commit has a given tag, eg:
on:
tags: true
all_branches: true
condition: "$TRAVIS_TAG =~ ^release.*$"
... but because I'm not clear what the on: *2
is doing (and can't find it in the docs), I'm uncertain how to proceed. Any tips?
Those symbols and the features they bring are part of YAML itself. They're supported to reduce duplication efforts in a YAMl file.
For instance, this section prefixed with the &
stores the subsequent structure as a reference with the name 2
. So 2
now references repo: travis-ci/cat-party
.
on: &2
repo: travis-ci/cat-party
The reference name can also be a an alphanumeric set of characters to make things more expressive.
On the other hand, *
is then used to resolve that reference where you want to reuse it.
So in the following section the YAML parser would resolve the *2
to the structure previously stored: repo: travis-ci/cat-party
:
on: *2
This feature saves you duplication, which can be handy in several aspects of a .travis.yml
file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With