Last nightly build on public TeamCity server.
The plugin automates all subtasks of the deployment. It adds TeamCity build step with flexible settings supporting TeamCity parameter references which:
- Prepares and uploads application revision to AWS S3
- Registers application revision in a CodeDeploy application
- Creates a CodeDeploy deployment and optionally waits for it's finish
or does all of the above tasks with nice TeamCity-manner progress and error reporting.
TeamCity Versions Compatibility
The plugin is compatible with TeamCity 9.1 and newer.
Copy aws-codedeploy-plugin.zip into the <TeamCity Data Directory>/plugins directory (more on this).
To use the plugin you need to have correctly pre-configured AWS resources including:
- IAM user or role with enough permissions for TeamCity to access AWS services
- Existing S3 bucket for application revision uploading
- CodeDeploy application with specially tagged target instances (deployment group) which must be running when the deployment starts
Please note that CodeDeploy application and S3 bucket as well as target EC2 instances must be in the same region. For more information about configuring CodeDeploy application and required resources see CodeDeploy documentation.
You may be charged money for using the above mentioned resources.
Currently supported credential types are AWS account access keys (access key ID and secret access key) or temporary access keys received from AWS security token service by assuming a role.
For the both types CodeDeploy runner can use default credential provider chain.
CodeDeploy deployment object, application revision is an archive (zip, tar or tar.gz) containing application source files accompanied by an application specification file appspec.yml. The archive is uploaded to an AWS S3 bucket and registered as an application revision in CodeDeploy application.
To configure the application revision in AWS CodeDeploy Runner you need to specify either a path to a ready application revision archive (containig appspec.yml) or a set of build checkout directory-relative paths to application files which will be packaged into a zip archive. Ant-style wildcards like
dir/**/*.html are supported.
To provide a custom appspec.yml file (will replace existing appspec.yml if there is one in the build checkout directory) for deployments created by AWS CodeDeloy Runner you may specify
codedeploy.custom.appspec.yml configuration parameter containing valid appspec.yml content or a path to a custom appspec.yml.
In most cases one needs to register and/or deploy the latest application revision from S3 bucket, but if you are using a versioned S3 bucket you may address particular S3 object version by adding
codedeploy.revision.s3.version configuration parameter.
Deployment id config parameter
Public repository: https://github.com/JetBrains/teamcity-aws-codedeploy-plugin.
Original issue in the tracker.