Continuously Integrate and Deliver with CircleCI and SeeTest
Use this blog post to best integrate Digital.ai Continuous Testing (formerly SeeTest, Experitest) with Circle CI
In today’s highly competitive world, organizations need to ship better software faster than their competitors. This is what CircleCI was designed for. CircleCI is a continuous integration and delivery platform that helps you dynamically run automated tests every time changes are made to the code. Using this tool, you can easily test and deploy code to self-hosted servers or to the cloud environments while efficiently managing the entire CI/CD pipeline.
An overview of CircleCI
As software architecture moved from monolithic architecture to microservices architecture, smaller units of code were continuously developed, tested, and deployed to production. When multiple teams are working on different modules of code, it is important to efficiently manage the CI/CD environment. CircleCI is such a tool that makes software development faster, better, and cost-effective.
CircleCI was founded by Paul Biggar and Allen Rohner in 2011. It was headquartered in San Francisco. It quickly evolved to expand its operations to continents with a 300+ workforce. Today, the tool performs 35M+ builds per month on multiple platforms such as Windows, Linux, macOS, and Docker environments. Samsung, Spotify, Coinbase, Buzzfeed, Ford Motor Company are some of the leading brands that rely on CircleCI for CI/CD operations.
CircleCI is the first continuous integration and delivery tool to get a FedRAMP (Federal Risk and Authorization Management Program) certificate from the federal government as a tool that complies with the privacy and security standards of governments. It is also available on the fedRAMP marketplace. It is also ranked as the leader in the best cloud-based CI tool by Forrester for the year 2019. The tools also top most DevOps tools lists.
The CircleCI Architecture
CircleCI is pretty simple to use. You don’t have to install the software on your machine or make any complex configuration settings. It simply runs in a cloud environment.
Here are four steps involved in the process:
- Integration with VCS: You need to integrate the tool with a version control system (VCS). CircleCI supports Github and BitBucket. Every time a developer commits the code to the VCS, a pipeline is created by CircleCI.
- Continuous Testing: The tool tests every commit by automatically running the pipeline in a VM or a container.
- Continuous Deployment: When a pipeline successfully passes the test, it is automatically deployed to a predefined production environment.
- Error Notification: When a pipeline fails, the tool automatically notifies the concerned team. To receive automatic notifications, you should integrate your business communication platform such as Slack.
What makes CircleCI a good tool?
Here are three important aspects that make CircleCI a better choice for continuous integration and delivery environments.
Speed and Performance
From initial setup to running the tests and managing releases, every process is simple and runs pretty faster. The powerful caching feature helps you to run pipelines faster by fetching data from previous tasks. When you use package dependency managers, you just have to download new dependencies instead of downloading everything for each build process. You can always configure your resources to increase speed and performance.
Better Control over CI/CD
Along with speed and flexibility, the tool gives you better control over workflows. Using workflow orchestration, you can define and execute jobs with greater control. The new WebUI dashboard is intuitive and pretty simple to use. It enables you to monitor and manage entire CI/CD environments from a central location.
As your pipelines run in cloud-based scalable servers, you don’t need to set up a dedicated server or perform maintenance. Moreover, you can configure resources to scale up the environment as and when required.
With VM isolation, LDAP, and audit logging, CircleCI offers a higher level of security to your code. Being the first CI tool to be fedRAMP certified, CircleCI complies with government security policies and standards.
CircleCi is a cloud-based CI/CD tool. So, you don’t need to set up a dedicated server and configure it.
Step 1: Create a repository on Github
To use CircleCI, you need to create a repository on Github or Bitbucket. To create an account in Github, visit this link:
Enter your details, confirm your email, and create a new account. After the account is verified, log in to the account and create a new repository and upload your code.
Step 2: Create an account on CircleCI
To get started with CircleCI, visit the site link here:
Click on ‘Sign Up’ or ‘Start Building for Free’ to create a trial account.
You have two options here. You can either sign up with Github or Bitbucket. So, click on Sign up with Github.
When you click on ‘Signup with Github’, you can choose to share all Repos or only Public Repos.
In the next screen, enter the username and password of your Github account.
When you sign up with a new device, Github might send a verification code to verify your device. So, enter the code on the next screen.
In the next screen, you need to provide permission to CircleCI to use your access account.
In the next screen, select an organization to work on.
Now, you can see the CircleCI dashboard where you can start working on your projects.
Working with CircleCI
To start working with the CircleCI continuous integration and delivery platform, you need to set up new projects. Select the project you want to add to the tool and click ‘Set Up Project’.
For this demo, let us create a new repository on Github.
Go to Github and log in using your credentials.
Go to Repositories and click on ‘New’.
On the next page, provide a name for the repository (eg: Experitest-CircleCI) and add a description. You can choose to initiate a readme file.
Now, you can see that the new repository is created.
Now, go to the CircleCI dashboard and click on ‘Add Projects’.
Now, you can see the list of available projects.
Select the project (eg: Experitest-CircleCI) and click on ‘Set Up Project’.
Here, you need to select the language and create a new Config.yml file or use an existing one. For the first project, use the default ‘Hello World’ option and click on ‘Add Config’.
CircleCI starts the build process.
After the build process is completed, you can see the status of the build. Here, the build status is ‘success’.
When you click on the job, you can see all the steps of the job.
When you click on a step, you can see more details of that step.
So, the build is successful now. You can add more projects and manage CI/CD tasks from the dashboard.
CircleCI and the SeeTest Cloud Platform
SeeTest is a test automation cloud platform offered by Experitest. It enables you to run test automation using a wide range of browsers, devices, and platforms while generating custom reports to analyze tests.
By combining the CircleCI continuous integration and delivery tool with the SeeTest platform, you can write a variety of tests and run them on the SeeTest cloud while monitoring the CI/CD environment from CircleCI. It is a simple process to integrate CircleCI with SeeTest. Simply add your project and CircleCI starts following it and managing CI/CD tasks for you.