Child pages
  • AWS CodePipeline Plugin

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Beta

Author

JetBrains (Victory Petrenko)

License

Apache 2.0

Type

free, open-source

Status

 

Everybody is encouraged to try the plugin and provide feedback in the forum or post bugs into the issue tracker.

Download

Latest nightly build on Latest  builds on the public TeamCity server compatible with

TeamCity 2017.x

TeamCity 10.0

TeamCity 9.1

Plugin Description

The plugin makes a TeamCity build a part of an AWS CodePipeline stage by providing a custom job worker for the TeamCity Build and Test AWS CodePipeline actions.

It adds the AWS CodePipeline Action build trigger which polls the AWS CodePipeline for jobs. After the trigger detects a job, it adds a build to the queue. The build downloads input artifacts (depending on the AWS CodePipeline TeamCity action settings), runs the configured build steps and, in case of a successful build, publishes output artifacts to the AWS S3 for usage in the subsequent CidePipeline CodePipeline stages.

See Building End-to-End Continuous Delivery and Deployment Pipelines in AWS and TeamCity for step-by step instructions.

TeamCity Versions Compatibility

The plugin is compatible with TeamCity 9.1 and newer.

...

In the directory each input artifact can be found inside a <pipeline name>/<artifact name> folderby artifact name, e.g. if TeamCity CodePipeline action is a part of a pipeline named TestPipeline and , has an input artifact named MyApp and the previous action has uploaded some application-bundle-1.0.zip zip file for this artifact name - then during the corresponding TeamCity build, the artifact will be available as %codepipeline.artifact.input.folder%/TestPipeline/MyApp/<random name>.zip.

Similarly, after the build finishes, the files found under the artifact output folder specified by the codepipeline.artifact.output.folder configuration parameter (which is %system.teamcity.build.tempDir%/CodePipeline/output by default) are uploaded to the S3. Each artifact must be placed in a <pipeline_name>/represented by an <artifact_name> folder.zip archive, e.g. to publish some application-bundle-2.0.zip some zip file as an artifact named MyAppBuild for pipeline TestPipeline, place it to %codepipeline.artifact.output.folder%/TestPipeline/MyAppBuild/application-bundle-2.0.zip. You can achieve this, for example, by adding a Command line build step to your build which runs 

cp <output_file_name> MyAppBuild.zip %codepipeline.artifact.output.folder%/<pipeline_name>/<artifact_name>/<output_file_name>.

It's recommended by the AWS to use one of zip, tar, tar.gz (tgz) archive types to package artifacts for the AWS CodePipeline.

Trigger poll interval

By default TeamCity build triggers are polled every 20 seconds. To change this period for the AWS CodePipeline Action build trigger, specify codepipeline.poll.interval configuration parameter.

...