Overview
When developers finish writing a piece of code, they often integrate their code into an application, copy the application into a folder, run the application installer, then initialize the application to check whether it runs as expected. This manual approach does not scale very well, is tedious, very error-prone and offers no mechanism for tracking changes during the process.
A better approach would be to automate the process using Continuous Integration. Continuous Integration refers to the processes, tools and infrastructure needed to automate the building, deployment and testing of software applications.
In this instructor-led, live training (onsite or remote), participants will learn how to transform a traditional, manual (or semi-manual) approach to software deployment into an agile, Continuous Integration (CI) one using Jenkins. Participants carry out a series of hands-on, live-lab exercises throughout the course, applying their new knowledge to various software development and deployment problems every step of the way. Interaction among the instructor and participants is encouraged. Real-world cases are discussed and specific issues and questions are addressed and resolved throughout the training. The training is especially focused on .Net application development.
By the end of this training, participants will be able to:
- Install and configure Jenkins for .Net application development
- Use Jenkins to automate the process of checking in and merging .Net source code into a code repository
- Use Jenkins to automate the process of downloading, compiling and deploying an application to a release server
- Integrate Jenkins with other software development tools such as issue trackers and
Audience
- .Net developers
- Build engineers
- QA engineers
- Project managers
- Release managers
- DevOps engineers
Format of the Course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- To request a customized training for this course, please contact us to arrange.
Requirements
- Knowledge of software development process
- .Net programming experience
Course Outline
Introduction
- Jenkins CI vs other approaches to developing and deploying .Net applications
Installing and Configuring the Jenkins Build Server
Overview of Jenkins Features and Architecture
Extending Jenkins to Read MSBuild Files
Creating a New Build Project in Jenkins
Building the Application
Diagnosing and Fixing a Broken Build
Testing the Application
Deploying the Application
Monitoring the Application
Reporting in Jenkins
Code Analysis
Securing Jenkins
Distributing Builds Across Different Machinese
Integrating Jenkins with Other Software Development Tools
- Issue trackers, test coverage utilities, notifiers, internal messaging systems, etc.
Best Practices for Continuous Integration in an Agile Environment
Troubleshooting
Summary and Conclusion