The IBM Rational Collaborative Lifecycle Management
The IBM Rational Collaborative Lifecycle Management
Git:
- Version Control System or Source Control Management (SCM)
Docker:
Accelerate the process of building, sharing, and running modern applications.
It is used throughout the development lifecycle for fast, easy and portable application
development.
Jenkins:
- Jenkins fits into the testing and deployment steps of the software development
lifecycle => Jenkins helps us automate the testing and deployment of our product
Software development workflow:
1. A developer writes code.
2. When he feels like his code is ready to be reviewed and tested, he check-in the code
into a source code repository (GitHub, Nexus, etc) and this should trigger a build in
Jenkins.
It’s better idea to push new data to Jenkins rather than having Jenkins systematically
pull source code repository because it might put an unnecessary load on the source
code repository.
3. Once a build is triggered in Jenkins:
a. Jenkins will pull the developer’s code changes down to its local workspace.
b. Jenkins will build and test the code automatically using the latest version of
the code base
- It is a repository manager that organizes, stores and distributes artifacts needed for
development.
- Developers can completely control access to, and deployment of, every artifact in an
organization from a single location, making it easier to distribute software.
War file: A war file is platform and operating system independent
In everyday use, you'd store your source code and its history in a git repository, and store your build
artifacts (
. Continuous Integration
1. Continuous Integration
1. Building Software implementation in a ‘Development’ environment.
2. Performing Continuous Dev Testing such as:
1. Unit Testing
2. Layout Testing
2. Continuous Delivery
1. Deploying every developed build on the ‘Staging’ environment.
2. Performing Continuous Automated Testing such as:
1. Integration Testing
2. Visual Testing / Screenshot Testing
3. System Testing (End to End Testing)
4. Acceptance Testing
3. Continuous Deployment
1. Deploying every build on ‘Production’ environment automatically, after
passing all tests in Development and Staging environments
4. Source Control Management (SCM)
1. Contains all the developed source code of the project
2. Maintains all the current and past state of the code/project
CI is built on agile and DevOps software development best practices including automated
testing, version control, build automation, and automated deployments.
Agile is an iterative approach to project management and software development that helps
teams deliver value to their customers faster and with fewer headaches.