DevOps is an enterprise software development phrase used to connect agile relationship between Development and IT Operations. The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between more than one business units.
Cloud as a Infrastructure & providers
DevOps Cloud Services
- EC2 Instances
- RDS Storages
- Cloud Watch for Monitoring resources
- S3FS Files Services
- VPN Setup for DMZ
- Load Balancing
- Build an Android app using Gradle
- Build with Apache Ant
- Build using a Gradle wrapper script
- Gulp : Node.js task-based build
- Build with Apache Maven
- NPM build Tool
Continuous Integration & Continuous Delivery
- GitLab CI
Continuous Integration and Delivery tool helps to reduce time-to-market of new feature and products.Our case study succeeded for our customer by implementing Jenkins build and test automation on cloud infrastructure.
Continuous Integration : This practice ensures the developer check-in code immediately available for testing with automated facility of automated build and testing configuration feature.
Continuous Delivery : is the automation of software packaging and regression testing for release of Software.
Docker : Docker solution is a registry service to manage images and the Docker Engine to build, ship and and run application containers.Most of the CI integration tools having provision to add docker plugin to ship the software product as part of CI.
CI Work flow
- Developer pushes a commit to GitHub
- GitHub uses a webhook to notify Jenkins of the update.
- Jenkins pulls the GitHub repository, including the Dockerfile describing the image, as well as the application and test code.
- Jenkins builds a Docker image on the Jenkins slave node.
- Jenkins instantiates the Docker container on the slave node, and executes the appropriate tests.
- If the tests are successful the image is then pushed up to Docker Trusted registry.