CI/CD pipelines

Smoothy provides you with a powerful way to build automated CI/CD pipelines and easily adopt CI/CD in your workflow.

CI/CD, what?

Continuous Integration, also CI, is the practice of automatically building/testing each code change to an application. This way, you as a software developer can detect problems as quickly as possible, and fix them while your code changes are still fresh in your mind.

Continuous Delivery, also CD, is the practice of automatically deploying well-tested code changes to your servers. Whether it is a staging environment or a production environment. This way, you can release bug fixes and new features much faster and with more confidence.

Easily adopt CI/CD pipelines in your workflow

Smoothy provides you with a powerful way to build automated CI/CD pipelines and link them to your GitHub, Bitbucket, or Gitlab repositories. This way, you only have to push your code changes to Git, and the related pipelines will automatically be executed.

Github
Github
Bitbucket
Bitbucket
coming soon
Gitlab
Gitlab
coming soon

Stages

Every pipeline consists of one or more stages, in which you can build your application, run unit and integration tests to check if your code is valid, deploy your application to a server, or trigger another pipeline. Different stages can be configured to run in sequence or in parallel for fast execution, so you can completely design the pipeline to suit your application's needs.

start
1

Clone code repository

The master branch of the code repository is cloned at the beginning of the pipeline execution. All the tasks and tests in the consequent stages run in the context of the application code.

Code repository
elonmusk
Owner
tesla-website
Name
2
Stages in the same container are performed in parallel for faster execution.
Pipeline
Build Laravel application
Name
6
Actions
Pipeline
Compile Vue.js assets
Name
2
Actions
3
Pipeline
Test application
Name
3
Actions
4
Pipeline
Deploy application
Name
2
Actions
finish

Regardless of the programming languages you are working with, you can easily build and test your application using Smoothy's CI/CD pipelines. For every stage, you can define the environment in which you would like to run the stage. You can securely pass any sensitive data such as passwords, SSH keys, or credentials as environment variables, and easily spin up services such as MySQL and Redis.

PHP
PHP
Node.js
Node.js
.Net
.Net
coming soon
Java
Java
coming soon
Python
Python
coming soon
C & C++
C & C++
coming soon
Ruby
Ruby
coming soon
Go
Go
coming soon

Actions

To define the actual build and test scripts that are executed within a certain stage, you have two options. You can either add your own custom scripts, or you can take the easier path and use Smoothy's predefined actions. These actions are recommended to you, based on the stage environment and on the already defined actions.

start
1

Run custom script

Run your own custom scripts in your pipeline.

// install dependencies

npm install

// build application

npm run build

// test application

npm run test

2

Build Dockerfile

Use a predefined action to build the Dockerfile at a provided location, and push the resulting Docker image to the Smoothy registry.

Docker
./Dockerfile
Location Dockerfile
finish

Real-time logs

You can easily following along with and debug the execution of the pipeline, using the real-time execution logs that are available via the Smoothy interface.

Output
(success)

$ docker build --pull -f Dockerfile -t registry.smoothy.cloud/pipeline-36bc3a23-a846-440e-80c6-057544e85eef:latest .


Step 1/4 : FROM node:alpine

alpine: Pulling from library/node

8e402f1a9c57: Pulling fs layer

682f5b61546c: Pulling fs layer

c482ca3e1e59: Pulling fs layer

c482ca3e1e59: Verifying Checksum

c482ca3e1e59: Download complete

8e402f1a9c57: Verifying Checksum

8e402f1a9c57: Download complete

682f5b61546c: Verifying Checksum

682f5b61546c: Download complete

8e402f1a9c57: Pull complete

682f5b61546c: Pull complete

c482ca3e1e59: Pull complete

Digest: sha256:5fec7c5da14d7ce1e27247cce8889f51d2cf97f6aa73511ccc9a8944f066d625

Status: Downloaded newer image for node:alpine

 ---> 953c516e1466

Step 2/4 : COPY . /app

 ---> f6b67031b352

Step 3/4 : WORKDIR /app

 ---> Running in 73c075fa922d

Removing intermediate container 73c075fa922d

 ---> a795881b9e14

Step 4/4 : RUN npm install

 ---> Running in a52c79fbdff7

added 1221 packages from 505 contributors in 32.834s


Job succeeded

Keep exploring the cloud platform built for developers

Rather than having to spend your time learning and integrating 6 different tools, Smoothy allows you to manage the entire process of building and deploying online applications, all from the same, easy-to-use interface.