Our Services
Software Development
Offshore & Outsourcing
Infrastructure
Custom Software Development

menu-services-icon

End-to-end software development tailored to meet all your requirements.

menu-services-icon

AI systems analyze data to help businesses make informed decisions.

menu-services-icon

Crafted custom web solutions to align with our client's business goals.

menu-services-icon

A good mobile app increases brand visibility and ease of customer interaction.

menu-services-icon

Empowers confident decision-making and unlocks real AI value with precision.

menu-services-icon

Transforming outdated systems into modern, scalable solutions.

menu-services-icon

Integrates various business processes into a unified system.

menu-services-icon

Provides real-world insights into how users interact with the product.

menu-services-icon

Accessible from anywhere with an internet connection.

menu-services-icon

Connect systems, automate workflows, and centralize data for faster growth.

menu-services-icon

Upgrade legacy systems with minimal downtime

menu-services-icon

Ensures that core application logic and business processes run smoothly.

menu-services-icon

Creates visually appealing and intuitive interfaces for seamless interactions.

menu-services-icon

Ensures the software meets standards and regulations, avoiding compliance issues.

menu-services-icon

Maintenance protects against vulnerabilities with patches and updates.

Software Development Outsourcing

menu-services-icon

Significant cost savings and access to global talent.

menu-services-icon

Get expert help with technology and industry knowledge for your project.

menu-services-icon

Stay current with industry trends to keep your project competitive.

menu-services-icon

Outsource tasks to focus on marketing, sales, and growth.

IT Services

menu-services-icon

End-to-end IT services that help businesses operate securely, efficiently, and at scale.

menu-services-icon

Speeds up updates and fixes, helping you respond faster to market demands.

menu-services-icon

Offer improved performance and reliability with faster processing and less downtime.

In this article, I will share with you the concept of CI/CD and apply it to a practical scenario.

What is CI/CD and why should I use CI/CD

CI/CD stands for continuous integration and continuous delivery.

  • Continuous Integration is the process in which all code changes from multiple developers are automatically merged into a single shared repository. Then each integration is verified by an automated tool that checks for code style and runs tests before each build.

  • Continuous Delivery expands upon Continuous Integration by deploying all code changes to a testing environment and/or production environment after the build stage. In order words, all-new features, bug fixes, … will be delivered to the hand of testers/users frequently.

→ This practice of CI/CD significantly reduces the cost of manual operation for developers, hence improve productivity and shorten deployment time.

Practical scenario:

  • A group of developers working on a NodeJS project

  • All code changes from developers are pushed to a Bitbucket repository

  • With each commit pushed to the repository, CircleCI will be triggered. It will check out the latest code, install dependencies and run tests

  • After all, tests are passed, CircleCI deploy code to a remote server via SSH

Why choose CircleCI over Jenkins (and other alternatives)

Besides many other CI/CD tools, in this article, I only compare CircleCI to Jenkins — the most popular CI/CD tool of all time.

First of all, and probably the most distinct difference between Jenkins and CircleCI is that you need a server to host Jenkins there, which requires administration knowledge and a considerable amount of time for configuration/customization. Meanwhile, CircleCI is a cloud-native platform, which means you do not need to set up any server, it just runs out of the box.

Secondly, Jenkins interface is rather old and unintuitive, whereas CircleCI’s design is very friendly. When it comes to configuration, with CircleCI, the yml syntax is clear and easy for developers to read.

In conclusion, CircleCI is a lightweight CI/CD platform that supports almost every programming language out of the box. Developers can also deploy to AWS, Azure, Google Cloud, Heroku, and many other clouds hosting services.

Demo

Prerequisites:

  • Node.js project stored in a Bitbucket repo

  • CircleCI account

  • Remote server that you can connect via SSH. On this server, you must install git, Node.js, and pm2 (recommended tool to manage Node.js processes)

  • Basic knowledge of SSH

Demo setup CI/CD with CircleCI

Setup

1. Configure CircleCI to track commits on Bitbucket repo

  • Create a folder named .circleci at the root of your project, add config.yml file to this folder with the following content:

For a more detailed specification of how to configure CircleCI, please refer to this document.

  • Add your Bitbucket repo to the CircleCI project

→ Now, CircleCI is able to perform the build job specified in the config.yml file.

2. Configure the remote server so that CircleCI can perform the deploy job

Generate an SSH key pair which we will be using throughout this tutorial by executing this command on the terminal:

ssh-keygen -t rsa -C “my_email@gmail.com”

You will be asked a few questions, remember to let the passphrase empty (at the time when I wrote this article, CircleCI requires an empty passphrase).

→ The results are 2 files: id_rsa (private key) and id_rsa.pub (public key)

  • In Bitbucket repo settings, check if CircleCI Deploy Key has been automatically added, then copy id_rsa.pub and add another key there

In Bitbucket repo settings, check if CircleCI Deploy Key has been automatically added, then copy id_rsa.pub and add another key there

  • In the CircleCI project setting, copy id_rsa and add your private key there

In CircleCI project setting, copy id_rsa and add your private key there

  • In your remote server, append your public key to authorized_keys in ~/.ssh by executing this command:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • In your remote server, copy your private key into ~/.ssh folder and modify ~/.ssh/config file to include:

Host bitbucket.org
HostName bitbucket.org
IdentityFile ~/.ssh/id_rsa
  • Add your private key to the ssh-agent by executing this command:

eval "$(ssh-agent -s)"
ssh-add -K ~/.ssh/id_rsa

→ Now every time you push code to Bitbucket, CircleCI will pull code from there and perform a build job on their cloud. After that, it performs a deploy job by connecting to the remote server via SSH, then automatically runs the deploy command on the remote server to pull code from bitbucket, then pm2 to start/restart the process as specified in the config.yml file.

ssh -p your_port_number your_user@your_host 
"cd .. /path/to/your/project; 
git pull;
pm2 start hello_sts";

You are done!

Good job! You have successfully automated the development and deployment processes with CircleCI. Now, without the need to perform manual tasks, your team can work effortlessly to deliver the product in a timely fashion.

This basic tutorial aimed to give you some fundamental knowledge of CircleCI to kick-start you on the DevOps journey. To master the power of CircleCI, dive right into its documentation. The capabilities are endless with so many features waiting for you to explore:

  • First-class Docker support.

  • Workflows for job orchestration.

  • Debug with SSH. Caching.

  • Gain insights about your repository with a visual dashboard.

  • Deploy your application to AWS, Azure, Google Cloud, Heroku, …/

Source: https://medium.com/@blueish/how-to-setup-ci-cd-with-circleci-and-deploy-your-nodejs-project-to-a-remote-server-275a31d1f6c4

Related articles

Custom Software vs Off-the-Shelf Solutions: A Side-by-Side Evaluation Framework
Methodology

Custom Software vs Off-the-Shelf Solutions: A Side-by-Side Evaluation Framework

Most articles comparing custom software vs off-the-shelf solutions hand you a list of pros and cons and call it a day. That is not particularly helpful when you are trying to make a six-figure technology decision with three stakeholders in the room and a deadline in two quarters. The real question is not which option is “better.” It is the […]
Build vs Buy Software: How to Make the Right Decision for Your Business
Methodology

Build vs Buy Software: How to Make the Right Decision for Your Business

Build vs buy software is a strategic decision where businesses choose between developing custom software tailored to their specific needs (“building”) or purchasing existing SaaS solutions (“buying”). While often framed as a simple cost comparison, this choice directly shapes a company’s ability to innovate, scale, and compete. A poor build vs buy decision can increase […]
When a Dedicated Team Beats In-House Hiring
Methodology

When a Dedicated Team Beats In-House Hiring

Most companies default to hiring in-house because it feels safer. But with the average developer hire taking 35 to 45 days, and specialized roles stretching past 90 days according to LinkedIn’s 2024 Global Talent Trends report, that default can quietly cost you a product launch, a competitive window, or six months of payroll on a […]
Choosing Between Models: A Decision Framework for Tech Leaders
Methodology

Choosing Between Models: A Decision Framework for Tech Leaders

Many companies say they want to “outsource development,” but the needs behind that request are often very different. One company may need a full-time external team for a long product rebuild. Another may need a few developers temporarily to hit a deadline. A third may want a vendor to deliver a fixed-scope MVP. Same word […]
Dedicated Team Pricing in 2026: What Buyers in the US, EU, Australia, and Singapore Actually Budget
Methodology

Dedicated Team Pricing in 2026: What Buyers in the US, EU, Australia, and Singapore Actually Budget

Most pricing guides stop at a broad range, such as “$25 to $80 per hour.” That sounds useful, but in practice, it is not enough to plan a real budget. If you are evaluating a dedicated team in 2026, the better question is not “What is the hourly rate?” but “What does a stable, productive […]
No-Code vs Purpose-Built Software: A Decision Framework for Startup Founders
Methodology

No-Code vs Purpose-Built Software: A Decision Framework for Startup Founders

A practical decision framework for startup founders comparing no-code platforms and purpose-built software. Learn when each approach fits your stage, budget, and goals.
Software RFP Template: Free Guide + Download [2026]
Methodology

Software RFP Template: Free Guide + Download [2026]

A poorly written RFP wastes everyone’s time. You send it out, wait two weeks, and get back vague proposals that are impossible to compare. The problem isn’t the vendors. It’s the RFP itself. A strong software RFP template gives vendors the clarity they need to deliver accurate, comparable proposals. It sets expectations on scope, budget, […]
Cross Functional Team Roles and Responsibilities: A Practical Guide
Methodology

Cross Functional Team Roles and Responsibilities: A Practical Guide

Learn the key cross functional team roles and responsibilities that drive successful collaboration. Practical guide with role breakdowns and best practices.
Software Pricing Models: A Complete Guide (2026)
Methodology

Software Pricing Models: A Complete Guide (2026)

Choosing a software pricing model is more than setting a price tag. It is a strategic move that affects revenue, churn, and growth. In 2026, leading companies treat it as something that evolves with market trends and the broader competitive landscape. Key Takeaways Pricing is a growth lever, not just a number. The best software […]

Want to stay updated on industry trends for your project?

We're here to support you. Reach out to us now.
Contact Message Box
Back2Top

Schedule a Demo with Our Industry Experts

Book a free 30-minute call

  • See case studies aligned with your requirements
  • Validate our industry experience
  • Confirm technical fit for your project
Schedule a Demo