Type Option
The --type
option is a powerful option that allows you to create multiple codebuild projects associated with the same repo.
Default Behavior
By default, cody looks up files in the .cody
folder. Example:
.cody/buildspec.yml
.cody/project.rb
.cody/role.rb
You can affect the behavior of the lookup logic with the --type
option.
Examples
cody deploy --type deploy
This will look up buildspec.yml, project.rb, and role.rb files in the .cody/deploy
folder. So:
.cody/deploy/buildspec.yml
.cody/deploy/project.rb
.cody/deploy/role.rb
Likewise cody deploy --type unit
would result in:
.cody/unit/buildspec.yml
.cody/unit/project.rb
.cody/unit/role.rb
Structure
So if you need multiple CodeBuild projects that perform different tasks but are both related to the same code repo, this structure is useful:
.cody
├── deploy
│ ├── buildspec.yml
│ ├── project.rb
│ ├── role.rb
│ └── schedule.rb
└── unit
├── buildspec.yml
├── project.rb
├── role.rb
└── schedule.rb
Code Project Name
The CloudFormation stack name is appended with the name of the type option. So if your project folder is demo
and the type option is unit
.
cd demo # project folder
cody deploy --type unit
It produces a CodeBuild project named demo-unit
. The project name is an optional first CLI argument. Here’s an example:
cd demo # project folder
cody deploy demo-web --type deploy # CodeProject name: demo-web-deploy
Stack Name
The stack name is the same as the CodeBuild project name with the -cody
suffix appended to it. Examples:
CodeBuild Project Name | Stack Name |
---|---|
demo | demo-cody |
demo-unit | demo-unit-cody |
demo-web-unit | demo-web-unit-cody |
Pro tip: Use the <- and -> arrow keys to move back and forward.
Edit this page
See a typo or an error? You can improve this page. This website is available on GitHub, and contributions are encouraged and welcomed. We love pull requests from you!
- Suggest an edit to this page (here's the contributing guide).
- Open an issue about this page to report a problem.