Do you want to speed up your development cycle? Continuous Integration!
Here at Softon, we noticed a lot of time wasted in uploading changes to our testing environment for QA testing. To improve this non-productive time and use it for development, we added another layer to our communication process by incorporating a Jenkins server. This server has a project template that allows us to quickly create new projects during our internal kickoff, saving tons of time by modifying only a few settings.
Steps in Our Jenkins Project Template
Our template includes the following steps:
- We configured a WebHook in our Bitbucket repository. It sends a message to Jenkins with each new commit to the Dev Branch. We use Git Flow to manage our code. Jenkins then reads this message and triggers the project execution.
- Next, we run gulp.
- We check for syntax errors in the project.
- If there are no errors, a sniffer reviews the check-in files to ensure they follow the recommended programming standards.
- We push the code changes to the testing server.
- Once the process finishes, we send an alert to the Slack Channel. It notifies the team about the CI execution’s completion and any errors or success.
- This process typically takes 1-2 minutes, depending on how many Nodes/Slaves and Executors Jenkins supports. The developer can then check the changes on the Test Server to ensure everything was pushed correctly.
Communication and Notifications
Pushing messages to Slack allows all stakeholders to know about new commits, any syntax or programming standard errors, and new code on the Test Servers. Once the Jira tickets move to the QA column, the QA Team can start testing right away.
Advanced Continuous Integration
Our team has extensive knowledge in AWS. We have created Continuous Integration projects for clients, including steps explained here, as well as adding Cloud Formation Templates, CodeDeploy, S3, CloudFront, Route53, RDS, and EC2 with Auto Scaling. These AWS services are script compatible through the AWS Command Line Interface or AWS CLI, and can be easily called from Jenkins.
* Our Digital Team manages WordPress, Drupal, Laravel, CodeIgniter, Bootstrap, Angular, React.js, and NodeJS projects. Click here to learn more about our expertise.