Need advice about which tool to choose?Ask the StackShare community!

AWS CodeBuild

368
478
+ 1
43
AWS CodeDeploy

391
617
+ 1
38
Add tool

AWS CodeBuild vs AWS CodeDeploy: What are the differences?

AWS CodeBuild and AWS CodeDeploy are two popular services provided by Amazon Web Services (AWS) that serve different purposes in the software development and deployment process. Here are the key differences between them.

  1. Purpose: AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces ready-to-deploy software packages. It is primarily used to build and test code as part of the continuous integration and continuous delivery (CI/CD) process. On the other hand, AWS CodeDeploy is a fully managed deployment service that automates the deployment of applications to a variety of compute services such as Amazon EC2 instances, Lambda functions, and ECS tasks. It focuses on the deployment aspect of the software development lifecycle.

  2. Build and Deployment Process: CodeBuild is primarily used for build and test processes. It can be triggered by events such as code commits to a version control repository, allowing developers to automate the build process whenever changes are made to the source code. CodeDeploy, on the other hand, takes over after the build process is complete and focuses on deploying the built artifacts to the target environment. It provides control over the deployment lifecycle, allowing for blue-green deployments, in-place deployments, and other deployment strategies.

  3. Supported Platforms: CodeBuild supports a wide range of programming languages, build tools, and operating systems. It provides a flexible environment for building and testing code across various platforms. CodeDeploy, on the other hand, supports a variety of compute services such as EC2 instances, Lambda functions, and ECS tasks. It provides the ability to deploy applications to these services, making it suitable for diverse deployment scenarios.

  4. Deployment Strategies: CodeBuild does not provide built-in deployment strategies and focuses solely on the build and test processes. On the other hand, CodeDeploy offers a range of deployment strategies such as blue-green deployments, canary deployments, and in-place deployments. These deployment strategies enable organizations to minimize downtime and gradually roll out changes to their applications.

  5. Integration and Third-party Tools: CodeBuild integrates well with version control systems like AWS CodeCommit, GitHub, and Bitbucket, allowing it to trigger builds on code changes. It can also be integrated with other AWS services like AWS CodePipeline and AWS CloudFormation. CodeDeploy also integrates with CodePipeline, making it easier to create end-to-end CI/CD pipelines. Additionally, CodeDeploy provides integration with third-party tools like Jenkins, TeamCity, and Octopus Deploy, allowing organizations to leverage their existing deployment tools.

  6. Pricing Structure: CodeBuild is priced based on the number of build minutes used, and the type and size of the compute environment used for building. CodeDeploy, on the other hand, is priced based on the number of instances deployed, making it suitable for organizations that have a large number of instances to manage.

In summary, AWS CodeBuild is primarily used for building and testing code, while AWS CodeDeploy focuses on the deployment aspect of software development. CodeBuild supports a wide range of programming languages and build tools, while CodeDeploy supports various compute services for deployment. CodeDeploy provides flexible deployment strategies, integration with third-party tools, and pricing based on the number of deployed instances.

Decisions about AWS CodeBuild and AWS CodeDeploy
Arthur Boghossian
DevOps Engineer at PlayAsYouGo · | 2 upvotes · 47.4K views

We will use AWS CloudFormation, as it is ideal for deploying and replicating infrastructure as code. Amazon CloudWatch Events will be used to send info based on the trigger that initiated the event to developers using Amazon SNS. Amazon SNS will also be used in the AWS CodePipeline after the application has been tested and deployed successfully to the development environment, notifying users to approve the application before it can be deployed to a production environment. AWS CodeBuild will be used for running tests on the application and AWS CodeDeploy will be used to deploy the application to Lambda and Alexa Skills Kit. AWS CodePipeline is a service that will organize the steps taken (building/testing and deployment) when code is pushed to the master branch in our source repository in Github.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of AWS CodeBuild
Pros of AWS CodeDeploy
  • 7
    Pay per minute
  • 5
    Parameter Store integration for passing secrets
  • 4
    Integrated with AWS
  • 3
    Streaming logs to Amazon CloudWatch
  • 3
    Bit bucket integration
  • 2
    GitHub Webhooks support
  • 2
    AWS Config and Config rule integration for compliance
  • 2
    VPC PrivateLinks to invoke service without internet
  • 1
    Windows/.NET support
  • 1
    Jenkins plugin integration
  • 1
    Ondemand scaling of build jobs
  • 1
    Scheduled builds with CloudWatch Events integration
  • 1
    Local build debug support
  • 1
    Native support for accessing Amazon VPC resources
  • 1
    Docker based build environment
  • 1
    Support for bringing custom Docker images
  • 1
    Fully managed (no installation/updates, servers to mai
  • 1
    PCI, SOC, ISO, HIPAA compliant
  • 1
    Full API/SDKs/CLI support
  • 1
    YAML based configuration
  • 1
    Great support (forums, premium support, SO, GitHub)
  • 1
    Perpetual free tier option (100 mins/month)
  • 1
    GitHub Enterprise support
  • 17
    Automates code deployments
  • 9
    Backed by Amazon
  • 7
    Adds autoscaling lifecycle hooks
  • 5
    Git integration

Sign up to add or upvote prosMake informed product decisions

Cons of AWS CodeBuild
Cons of AWS CodeDeploy
  • 2
    Poor branch support
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    What is AWS CodeBuild?

    AWS CodeBuild is a fully managed build service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your own build servers.

    What is AWS CodeDeploy?

    AWS CodeDeploy is a service that automates code deployments to Amazon EC2 instances. AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during deployment, and handles the complexity of updating your applications.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use AWS CodeBuild?
    What companies use AWS CodeDeploy?
    See which teams inside your own company are using AWS CodeBuild or AWS CodeDeploy.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with AWS CodeBuild?
    What tools integrate with AWS CodeDeploy?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    What are some alternatives to AWS CodeBuild and AWS CodeDeploy?
    Jenkins
    In a nutshell Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides over 300 plugins to support building and testing virtually any project.
    AWS CodePipeline
    CodePipeline builds, tests, and deploys your code every time there is a code change, based on the release process models you define.
    Apache Maven
    Maven allows a project to build using its project object model (POM) and a set of plugins that are shared by all projects using Maven, providing a uniform build system. Once you familiarize yourself with how one Maven project builds you automatically know how all Maven projects build saving you immense amounts of time when trying to navigate many projects.
    GitLab CI
    GitLab offers a continuous integration service. If you add a .gitlab-ci.yml file to the root directory of your repository, and configure your GitLab project to use a Runner, then each merge request or push triggers your CI pipeline.
    AWS CodeStar
    Start new software projects on AWS in minutes using templates for web applications, web services and more.
    See all alternatives