Continuous Integration and Continuous Delivery with Jenkins

By: Wakaleo Consulting  06-Dec-2011
Keywords: Software Development, Software Developer, Java Development

Continuous Integration (or CI) is essential for any modern software development team. CI provides many benefits, including:

Continuous Delivery is the ultimate form of Continuous Integration, where a fully automatically tested release can be deployed to any environment (from QA to Production) at the click of a button. For some environments (e.g. a test server), this process can be completely automated; for others, it will be driven by the business. With Continuous Delivery, the business can choose when they want the latest release according to business prerogatives, not technical ones.

Wakaleo Consulting can help you introduce Continuous Integration and Continuous Delivery into your organization.

We can review your existing development infrastructure and practices, discuss where Continuous Integration and Continuous Delivery could help you, and determine the best way to get there.

We can also evaluate and discuss other related practices, such as source code manangment, automated testing and automated code quality, that are part of the bigger CI picture.

To bring your team up to speed with Jenkins, we can also run the From Continuous Integration to Continuous Delivery with Jenkins course within your premises.

Course outline

This course is an intensive 1-day workshop with a mixture of teaching and lab exercises. You will learn about how to design and implement an effective Continuous Integration build environment, as well as some invaluables tricks of the trade, using , the world's most popular CI tool. The techniques discussed in the course are also applicable for .

The basic course program is outlined here:

  • An introduction to Continuous Integration (CI) principles
  • What you need to implement CI
  • CI-friendly development practices
  • Setting up a CI server
  • Continuous Integration build strategies and best practices
  • CI notification strategies and techniques
  • Automated testing
  • Automated code quality audits
  • Automated reporting on project status and statistics
  • Integrating CI with your issue management system
  • Automated release strategies
  • Automated deployment
  • Continuous deployment
  • Using distributed builds to speed up the build process and to run environment-specific build jobs
  • Applying CI to large projects - using CI on with large teams or multi-team projects, with multiple development/integration SCM branches,..

Course Objectives

Students will come away from this workshop with a solid understanding of how to implement a Continuous Integration environment in their organisation. They wil be able to set up a working Continuous Integration server, complete with automated builds, tests, code quality audits and reports, and automatic deployment to an integration server. They will also be able to integrate CI with other tools in the development environment, such as issue tracking systems and source code browsers.

General Information

Audience

This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a developer audience:

  • Java developers of all levels
  • Software architects
  • Technical project managers

Approach

The course is modular and flexible - depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.

Assumptions

We assume participants have a reasonable understanding of Java development as well as a basic understanding of the Software Development Life Cycle.

Lab Work

All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 70% lab work.

Learning Resources

Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course.

  • "Best development course I have been on in a very long time. Will seriously improve our development/build/test lifecycle." - Neil, Software Developer
  • "One of the best and most useful courses I have attended. And they didn't even try to sell me anything!" - Jonathan, Developer
  • "Greatly enjoyed the course. Provided many useful insights on how to introduce improved ways of working and how to incorporate new technology with new and 'legacy' Java projects." - Derek, Technical Team Leader
  • "A well organized course. A 'must' course for serious Java developers. It's not only about the tools to be used in day-to-day development, but also about best methodologies and practices." - Apparao, Software Developer
  • "Gives a very good overall view of the Java development environment. Not just how to write Java code but the 'business end' - how to build, test, deploy, manage and monitor." - Tom, Software Developer
  • "This was a great all round introduction to best practices for development process optimization. I found all of the content very helpful and easy to understand. Many of the techniques and technologies will improve our processes a great deal." - Linton, Developer
  • "John has given a very well-run course, with plenty of demonstrations on bleeding-edge Java tools, which spans over project management, development techniques, testing and the build process." - Wayne Ng, Software Developer
  • "This bootcamp gives a good breakdown of some tools to aid in Java development. I can definitely see their use coming in handy." - Wayne, Systems Programmer

Contact us

   

Keywords: Java Development, Lab Work, Software Developer, Software Development

Contact Wakaleo Consulting

Email - none provided

Print this page

Other products and services from Wakaleo Consulting

06-Dec-2011

Maven 2/3 Training

More than a build scripting tool, Maven is a build framework that can help you improve your development productivity and code quality, promote better software architecture, and improve team communication. John has given a very well-run course, with plenty of demonstrations on bleeding-edge Java tools, which spans over project management, development techniques, testing and the build process..


06-Dec-2011

Automated Acceptance and Web Testing

We can also write an initial set of tests that developers can use as a starting point and a reference for future tests. Despite all the benefits of ATDD, it can sometimes be hard for a busy team to adopt ATDD without a little help. We can help your team apply automated acceptance testing efficiently and with a minimum of effort. We can pair with your developers to help them write more effective web tests.


06-Dec-2011

Test-Driven Development Training and Coaching

One of the best ways to ensure that developers continue to build on and apply good TDD practices in the field is to provide regular one-on-one mentoring for the developers. We can pair with your developers on a regular basis to help them apply TDD practices effectively in their daily work. A very popular option is to combine our on-site training packages with mentoring.