Node.js full-stack app using webpack for front end and back end
Asked by Eric Hill:

I have a full stack node.js application that uses webpack to build both the front end and back end. I'm looking to move into CI/CD. Is Bamboo a good platform for implementing CI/CD for such a project?

Thanks,

Eric


Answers:
author: Steffen Opel _Utoolity_
body: As Martyn already confirmed, Bamboo is a perfectly capable platform for such a project - more specifically, you might want to check out the following related topics:

* [Getting started with Node.js and Bamboo](https://confluence.atlassian.com/bamboo/getting-started-with-node-js-and-bamboo-687213472.html)
* [Bamboo, Docker, and building web apps](https://www.atlassian.com/blog/bamboo/bamboo-docker-building-web-apps)

These older posts emphasize the classic UI driven build configuration in Bamboo, whereas Bitbucket Pipelines starts from a declarative YAML based [configuration as code (CAC)](https://confluence.atlassian.com/bamboo/what-is-configuration-as-code-894743909.html) approach as seen in most current CI/CD offerings. That being said, Bamboo meanwhile provides the arguably more powerful imperative [Bamboo Specs](https://confluence.atlassian.com/bamboo/bamboo-specs-894743906.html) approach, which you might want to evaluate before settling on a solution - it actually comes in two flavors:

* [Bamboo Specs (YAML)](https://docs.atlassian.com/bamboo-specs-docs/6.8.0/specs-yaml.html) - declarative, thus more similar to other CI/CD systems and easier to get started with, but does not cover all Bamboo features yet
* [Bamboo Specs (Java)](https://docs.atlassian.com/bamboo-specs-docs/6.8.0/specs-java.html) - imperative and more complete, thus considerably more powerful, but obviously a higher barrier of entry for non Java use cases and/or users

**Bamboo vs. Bitbucket Pipelines**

I think the choice of Bamboo or Bitbucket Pipelines within the Atlassian ecosystem should be based on your use case and specific requirements, insofar both have pros and cons:

* If you are primarily using Atlassian Server products, Bamboo seems better integrated; conversely Bitbucket Pipelines might be the better fit if you are primarily using Atlassian Cloud products (not the least because you do not need to manage a Bamboo Server)
* If you have a large scale use case (many repositories, branches, teams, users, or deployment environments, etc.), Bamboo Specs (Java) likely provides much better control and maintainability for your configuration as code; conversely Bitbucket Pipelines is very lightweight and easier to get started with for small scale use cases (say isolated teams, repositories, fixed number of deployment environments, etc.)
* If you want to be able to customize your CI/CD system, the [Bamboo APIs](https://developer.atlassian.com/server/bamboo/) provide considerably deeper extensibility due to the support for REST and Java based integrations, and quite some are readily available as apps in the [Atlassian Marketplace (Bamboo)](https://marketplace.atlassian.com/addons/app/bamboo); there is also a [Bitbucket Pipelines API](https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/pipelines), but it is fairly limited at this point, and consequently the available [Bitbucket Pipelines integrations](https://confluence.atlassian.com/bitbucket/bitbucket-pipelines-integrations-826868162.html) cannot be installed as apps, but seem to be more or less just documentation on how to integrate external SaaS offerings into your builds via scripts

Cheers,  
Steffen

comments: author: Daniel Santos
body: Thank you for sharing such complete and referenced answer [@Steffen Opel _Utoolity_](/t5/user/viewprofilepage/user-id/781567)  


author: Marty
body: Hi Eric,

you could use bamboo for this, but you might find the learning curve on bitbucket pipelines a little easier. <https://confluence.atlassian.com/bitbucket/javascript-node-js-with-bitbucket-pipelines-873891287.html>

I hope that helps!