Skip Main Navigation
Page Content
This event has ended

Save This Event

Event Saved

Standardizing Enterprise Builds with Gradle

Gradle Inc.

Thursday, April 21, 2016 at 8:30 AM - Friday, April 22, 2016 at 12:30 PM (PDT)

Ticket Information

Ticket Type Sales End Price Fee Quantity
Standard Ended $900.00 $0.00

Share Standardizing Enterprise Builds with Gradle

Event Details

COURSE SUMMARY


Today’s software development landscape in organizations looks fragmented. Organizations use a polyglot approach for implementing their products, pick from a wide range of frameworks and tools, and choose a development methodology they see most fitting. Build infrastructure is no exception. Multiply this approach across all teams in your organization and you can imagine the perfect storm. Developers switching between teams have to become familiar with new toolchains. Similar functionality is duplicated which increases the maintenance cost of your code. But how do you bring order into this “chaos”?

Build standardization can help you create a centralized build infrastructure instead of having your builds live in different silos across your enterprise. At the most basic level, if all of your developers are using the same tools and have the same expectations of the build, you’ll be saving a significant amount of time and money that would otherwise be spent supporting a conglomerate of tools and approaches. Build standards make it easier for teams to work together, share code, and enable you to enforce best practices by establishing ground rules.

This training is a one day, hands-on, instructor lead training course designed for advanced Gradle users who want to learn about implementing standards on an enterprise level with the help of Gradle.

DURATION


One day (If delivered virtually: two sessions of 3.5 Hours + 30 minutes Q&A)

OBJECTIVES


Upon completion of this course you will get/learn…

  • Benefits of standardizing enterprise builds

  • Approaches for standardizing build environments, build logic and projects with Gradle

  • Writing a custom Gradle distribution

  • Using Gradle to implement and standardize the delivery process

  • A showcase of real-world enterprise scenarios


AUDIENCE


This course is designed for developers, architects and build masters that are in charge of implementing a global build strategy for their organization.

PREREQUISITES


Advanced knowledge of Gradle core concepts are required. Attendance of course “Introduction to Gradle” and “Extending Gradle” is recommended. A lot of the example code is going to be developed in Groovy. Basic knowledge of Groovy is expected.

OUTLINE



  • Introduction





      • Today’s landscape of projects in a larger organization

      • Benefits of standardizing your build and delivery process

      • Finding the balance between rigid and flexible

      • Convention over configuration

      • Defining standards of your organization

      • Using Gradle as a toolkit to implement standards





  • Case study enterprise scenario





      • Hypothetical enterprise scenario

      • Overview of projects

      • Standardization requirements

      • Implementation plan





  • Bootstrapping the build environment





      • Bootstrapping the Gradle runtime

        • Problems with using non-standardized runtime for builds

        • Generating Wrapper files

        • Executing the build with the Wrapper

        • Lab: Using the Wrapper for a project

        • Customizing the Wrapper

        • Upgrading the Wrapper



      • Configuring and bootstrapping IDEs

        • The usual developer setup

        • Gradle’s IDE plugins

        • Generating IDE project files for different IDEs

        • Lab: Using the Eclipse and IDEA plugins

        • Customizing IDE project files

        • Lab: Modifying the generated IDE project files

        • Bootstrapping the IDE and its configuration







  • Standardizing with the help of a corporate plugin





      • Configuring and enforcing conventions by writing a plugin

      • Plugin composition and stacks

      • Scenario: Dependency management

        • Setting up the use of an enterprise repository

        • Lab: Writing a plugin for pre-configuring an in house repository

        • Disallowing the use of external repositories

        • Lab: Fail the build if project requests to use Maven Central

        • Disallowing the use a specific external library

        • Lab: Fail the build if dependency Hibernate is declared

        • Enforce a standardized version of a requested artifact

        • Lab: Replacing a requested version of an artifact



      • Scenario: Configuring other plugins

        • Restrict execution of logic to a certain context

        • Pre-defining sensible configuration

        • Lab: Using JUnit for testing Java code

        • Setting up standardized test suites with SourceSets and tasks

        • Lab: Predefining a integration test suite



      • Scenario: Declaring a corporate DSL

        • Writing a DSL with extensions

        • Asking for additional meta-data through extension

        • Lab: Using declared meta-data to enrich publishing meta-data







  • Using Initialization scripts





      • The role of init scripts

      • Recap: Execution of init scripts in Gradle’s build lifecycle

      • Lab: Using the corporate plugin in an init script

      • Sharing init script across team members





  • Creating a custom Gradle distribution





      • Goals and benefits

      • Using init scripts as part of the distribution

      • Automating custom distribution creation

      • Lab: Building a custom distribution

      • Publishing the custom distribution

      • Lab: Publishing the custom distribution to a repository for consumption

      • Using the Wrapper in project to use custom distribution

      • Lab: Using the custom distribution

      • Enforcing the use of the latest version of a distribution

      • Lab: Writing an init script to check the version compatibility





  • Standardizing the delivery process




    • Scenario: Versioning the deliverables

      • Why is it important?

      • Picking a versioning strategy

      • Implementing a versioning strategy with Gradle

      • Lab: Writing custom versioning



    • Scenario: Releasing the deliverables

      • Modeling the release process

      • Open Source plugin options

      • Writing a custom release process

      • Lab: Writing a custom process with Git



    • Scenario: Using Continuous Integration

      • Building Gradle projects with Jenkins

      • Avoid manual creation of Jenkins jobs

      • Generating Jenkins jobs with Gradle

      • Lab: Using the Gradle Jenkins plugin



    • Scenario: Automatic creation of release notes

      • What information can be used?

      • Integration of JIRA and Git

      • Producing release notes with Gradle

      • Lab: Implementing a task for generating release notes




Have questions about Standardizing Enterprise Builds with Gradle? Contact Gradle Inc.

When

Thursday, April 21, 2016 at 8:30 AM - Friday, April 22, 2016 at 12:30 PM (PDT)


  Add to my calendar

Organizer

Gradle Inc.

Gradle Inc. is the engine behind the award winning open source build tool Gradle as well as Gradle Enterprise. While fundamentally a product company, we also provide support, consulting, implementation assistance, and custom extensions to organizations using Gradle. 

  Contact the Organizer

Please log in or sign up

In order to purchase these tickets in installments, you'll need an Eventbrite account. Log in or sign up for a free account to continue.