Overview
Audience
Software Developers, Architects, System Administrators, Release Engineers, Testers
Duration
2 days
Pre-requisite
Agile Fundamentals
Objectives
- Understand the concept of Continuous Integration and why it is beneficial
- Understand the features and concepts of the Go product
- Installing and configuring the Go product
- Setting up automatic builds using Go
- Setting up one click deployments using Go
- Be able to discuss the differences between the leadership responsibilities on an Agile Project. (Program Management, Project Management, Iteration Management)
Course Outline
Day 1
Introduction to Continuous Integration
- What is continuous integration and what problem does it solve?
- The common process of continuous integration
- Why Continuous integration can help us to resolve/improve some of them
- History of Cruise Control
- Why we built Go
About Go: Features and Concepts
- The core features in Go
- Zero-configuration build grid
- Central artifact repository.
- End-to-end security.
- Out-of-the-box support for .NET, Java and Ruby.
- Build pipelines
- Parallelization
- Test multiple environments
- Fast, simple installation
- Robust architecture
- Scalable dashboard
Preparing to do CI
- Introduction of VCS
- What's the difference between central VCS and distributed VCS?
- Introduction of subversion (Mercurial)
- Introduction of ANT (NANT)
- Basic format of build file
- How to write and run it
- Environment preparation of CI
- Install JDK, ANT, Subversion
- Setup a repository of subversion
Installing Go
- How to install Go server and agents on different platform
- Windows, Ubuntu, Mac OS, Redhat, Solaris, SUSE
- Check the server and agents work properly
- How the Go server and agents work together
- Setup a build cloud (adding/removing agents)
- Easy to upgrade
Day 2
Setting up the First Automated Build
- Setup the sample java project
- Write an ANT file for it
- Setup a pipeline for the project in Go
- Get the report from Go after the first pipeline finished.
- Explain the concepts of Pipeline, Stage and Job
Implementing the Core Concepts
- Setup multiple stages in the pipeline.
- Get the report from Go after the pipeline goes through all the stages.
- Introduce the workflow of Go
- Repository, Pipeline, Materials, Stages, Jobs, tasks
- How to get feedback quickly with tons of tests
- Start up multiple agents
- Group your tests with jobs
Setting up One-Click Deployment
- What's the specific problems in deployment process
- Why we need one-click deployment
- How to address it in Go
Customizing Go
- Security in Go (LDAP support and roles in Go)
- How to backup Go
- How to handle dependencies between pipelines
- How to get your binaries back to the Central artifact repository.
- How to share the artifacts between stages and pipelines (uploading and fetching)
- How to show the test results on the page (sub-tab)
- How to integrate with other tracing system (Mingle)
- How to monitor pipelines (CCTray, email notifications)
- Go API