© Elephant Scale
January 13, 2020
Developers and DevOps engineers need collaboration tools to write effective code, implement Test Driven Development methodologies, and automate deployments. Continuous Integration and Continuous Delivery are best practices in handling complex development and deployment scenarios while a product is under development.
Git and Jenkins are the twin pillars of the developers’ Continuous Integration and Continuous Delivery toolbox. By using these tools effectively, developers and dev/ops engineers can ensure much higher quality code and better results.
- familiarity with programming in at least one language
- Basic knowledge of Linux and command line
A lab environment will be provided for students.
Zero Install: There is no need to install software on students’ machines.
After completing the course, the students will be able to:
- See the value of Source Code Control for Developers
- Understand Git as an essential tool for development workflows.
- Implement Continuous Integration and Continuous Delivery using Jenkins
- Master the best practices for test creation
Introduction to the Modern Developer Workflow
Source Code Management
- What are source code management systems and how are they used?
- Cloud-based SCMs
- Incremental updates v clean check out
- Checking in code
- Branch and Merge Strategies (per-branch release candidates)
- Git Workflow
- Using Git properly
Key CI/CD/Jenkins Concepts
- Continuous Delivery/Continuous Integration Concepts
- Difference between CI and CD
- Continuous delivery versus continuous deployment
- Installation Wizard
- Jenkins Jobs
- Jenkins Builds
Testing as Part of the workflow
- Tests with git
- Running tests in Jenkins CI Pipeline
- Code Coverage
- Jenkins Reports
- Storing, Copying and Using artifacts
Building Continuous Delivery (CD) Pipelines
- Pipeline Concepts
- How to protect centralized pipelines when multiple groups use the same tools
- Definition of binary reuse, automated deployment, multiple environments