Victory Petrenko / JetBrains
Latest nightly build on public TeamCity server.
The plugin makes a TeamCity build a part of a CodePipeline stage by providing a custom job worker for TeamCity Build and Test CodePipeline actions.
It adds the AWS CodePipeline build trigger which polls CodePipeline for jobs. After the trigger detects a job it adds a build to the queue. The build downloads input artifacts (depending on the CodePipeline action settings), runs the configured build steps and in case of success publishes output artifacts to S3 for usage in the following steps.
TeamCity Versions Compatibility
The plugin is compatible with TeamCity 9.1 and newer.
Download aws-pipeline-plugin.zip and install the plugin on the TeamCity server.
To use the plugin, you need to have correctly pre-configured AWS resources including:
- An IAM user or a role with sufficient permissions for TeamCity to access AWS services
- A CodePipeline pipeline.
For more information on configuring a CodePipeline pipeline and required resources, see CodePipeline documentation.
You may be charged money for using the above-mentioned resources.
The 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.
Both types are supported by the CodePipeline build trigger via the default credential provider chain.
AWS CodePipeline trigger settings
A CodeDeploy deployment object, an application revision, is an archive (zip, tar or tar.gz) containing the application source files accompanied by the application specification file appspec.yml. The archive is uploaded to an AWS S3 bucket and registered as an application revision in a CodeDeploy application.
To configure the application revision in the AWS CodeDeploy Runner, you need to specify either a path to a ready-made application revision archive (containing 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 and target folders like
dir/**/*.html => dist/pages are supported. The archive name can be optionally specified via the
S3 object key runner parameter (by default, the corresponding build type external id is used).
To provide a custom appspec.yml file (which will replace the existing appspec.yml if there is one in the build checkout directory) for deployments created by AWS CodeDeloy Runner, the
codedeploy.custom.appspec.yml configuration parameter containing valid appspec.yml content or a path to a custom appspec.yml can be specified.
In most cases one needs to register and/or deploy the latest application revision from an S3 bucket, but, if you are using a versioned S3 bucket, you can address a particular S3 object version by adding the
codedeploy.revision.s3.version configuration parameter.
Poll interval config parameter
For each created deployment, the
codedeploy.deployment.id configuration parameter is reported. The parameter is available in the following build steps and in the dependent builds as
Public repository: https://github.com/JetBrains/teamcity-aws-codepipeline-plugin.
Original issue in the tracker.
Announcement blog post