Continuous Integration Boot Camp

This 3-day instructor-led course will teach the fundamental concepts, practical application, and workflow integration skills necessary for successful CI implementation. Students will learn through hands on labs, class demos, class participation exercises, frequent quizzes, video tutorials, and traditional power point presentations. This is an interactive class, and individuals will be expected to participate fully in all exercises to retain maximum benefit of the course.

Retail Price: $2,695.00

Next Date: Request Date

Course Days: 3


Request a Date

Request Custom Course


About this Course

This hands-on workshop teaches your teams how to implement Continuous Integration techniques & practices to achieve better code quality, better maintenance, and speed to delivery. Effective CI practices, when combined with well-aligned IT teams, lay the foundation for mature Continuous Delivery environments and the many benefits associated with them – for your software, your IT shop, and your business.

This 3-day instructor-led course will teach the fundamental concepts, practical application, and workflow integration skills necessary for successful CI implementation. Students will learn through hands on labs, class demos, class participation exercises, frequent quizzes, video tutorials, and traditional power point presentations. This is an interactive class, and individuals will be expected to participate fully in all exercises to retain maximum benefit of the course.

Audience Profile

This class is designed for:

  • Software Developers
  • Project Managers
  • Quality Assurance staff
  • Product Owners
  • Business Intelligence Professionals

At Course Completion

Upon completing this course, students will be able to:

  • Set up and navigate a CI environment that enables automated testing & automated builds
  • Execute releases in test environments prior to product delivery
  • Identify the most efficient CI tools for quick release & reliable maintenance of products
  • Integrate Continuous Integration methods & techniques into current workflow for a SCM environment
  • Deliver value from continuous integration in your own organization
  • Examine real world examples of continuous integration benefits

Course Outline

Module 1: Continuous Integration Overview

This Module covers the fundamentals of Continuous Integration, a software development methodology that focusses on consistent code testing. For any team that is implementing an Agile programming approach to software development, Continuous Integration (CI) will be an integral part of the process. 

The difference between Integration, Deployment, and Delivery

  • Continuous integration
  • Continuous deployment
  • Continuous delivery

Continuous Integration Flow

  • Checking for updates
  • Extracting Code
  • Integrating updates into a test environment
  • Reviewing test results
  • Integrating updates into the Build

Demo

  • Make a Change in CI environment
  • Check in update
  • View Code Analysis Report
  • View Test Results
  • Verify Build

Module 2: Advantages of Continuous Integration

This Module covers the results that CI delivers, and how they translate into more efficient workflows, higher deliverability, and less overall cost. Benefits associated with CI will be exemplified including:

Reaping the benefits of Continuous Integration

  • Reduce implementation effort
  • Increase speed of resolution
  • Improve quality & maintenance of each product release
  • Increase speed of delivery

Communicating Analytics with Clients & Managers

  • High Transparency
  • Running Tests in the real world
  • Updating code with changing requirements

Class Quiz

  • Fundamentals of Continuous Integration
  • Execution of Continuous Integration
  • Testing Results of Continuous Integration

Companies utilize CI techniques successfully 

Class discussion regarding real world companies which have successfully integrated Continuous Integration into their common practice. Review of released content thaqt their deployment workflows. 

Case Studies for Continuous Integration

  • Production Changes every 11.6 seconds at Amazon
  • The Facebook Release Process
  • Continuous Delivery at Google
  • The Software Revolution Behind LinkedIn's Gushing Profits | Business | WIRED
  • Deploying the Netflix API
  • Tesla utilizing Continuous upgrades
  • How Etsy Deploys More Than 50 Times a Day

Class Discussion

  • How did each company in these reports utilize Continuous Integration?
  • How was CI most likely implemented in each example?
  • How would you apply CI to your own production environment?

Module 3: Implementing a CI Environment

In this Module, we will take a deep dive into the analyzation, best practices, and setup of a CI environment. 

Creating & Managing a Source Code Repository

  • Distributed code Repositories
  • Choosing the right tools: Repository Tools Review
  • Separating requirements & dependencies
  • To use branches or not to use branches?

Configure Automated Deployment

  • Configuring the DHPC server
  • Source Commit Check
  • Starting with simple Deployment scripts
  • Real time bug alerts

Creating Automated Tests

  • Unit Testing
  • User Interface Testing
  • API Testing
  • Regression Testing
  • Load Testing
  • Security Testing

Lab

  • Create a Source Code Repository
  • Build an Automated Test
  • Check new code into Repository
  • Run a unit Test on New Code

Module 4: Database Versioning

  • Best Practices for database versioning
  • Database Schema & scripts
  • Database versioning tools
  • Multiple database instances for each developer
  • Benefits of Database Versioning

Database Versioning Process:

  • Check out object to be modified
  • Apply modifications in database test environment
  • Run tests to verify changes have not broken the build
  • Check in object for final authentication

Database Versioning Approaches

  • Task Based Development
  • Compare & Sync
  • Database version checks
  • Upgrade scripts & Parallel Development

Lab

  • Modify an object in test environment
  • Check in modifications to repository
  • Run Unit test to check against changes
  • Run final test for deployment

Module 5: Maintaining a CI Environment

Module 5 investigates CI methods & techniques which ensure problems & bugs are detected early, and speed to deployment is consistent. 

Implementing the Build, Deploy, Test, and Release Process

  • Software Configuration
  • Automatic Launch
  • Test Report Generation
  • Submit to Testers

Product Maintainability & Monitoring

  • Reliability, Availability, Maintainability: Why you need all three
  • Criteria for "pass" requirements
  • Scope & Scalability
  • Consistent updating of Software functionality
  • Analytics & Reporting

Module 6: Agile tools for Continuous Integration

Before selecting a CI/CD solution, it is crucial for developers & project managers to choose the correct path for each particular application. In this module we will review open source tools, and delve into the pros & cons that they bring to the table. 

Setting up the CI Server

  • CI environment, standard workflows, & core tech architecture
  • Software Configuration Management (SCM)
  • Setting up Jenkins as a CI server
  • Open source CI tools
  • Build automation tools for CI
  • Recommended learning resources

Lab

  • Set up the Jenkins build server
  • Run a shell script
  • Archive the build result
  • Run integration tests
  • Run report on test results


Sorry! It looks like we haven’t updated our dates for the class you selected yet. There’s a quick way to find out. Contact us at 502.265.3057 or email info@training4it.com


Request a Date