Free Sample
+ Collection

Rake Task Management Essentials

Andrey Koleshko

Deploy, test, and build software to solve real-world automation challenges using Rake.
RRP $13.99
RRP $22.99
Print + eBook

Want this title & more?

$12.99 p/month

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781783280773
Paperback122 pages

About This Book

  • Solve real-world automation challenges with human readable code
  • Build or deploy an application package quickly
  • Easy-to-follow instructions to speed up tasks and manage them efficiently

Who This Book Is For

If you are a developer who is acquainted with the Ruby language and want to speed up writing the code concerned with files, then this book is for you. To start reading this book, a basic knowledge of Ruby is required; however, an extensive experience with the language is not necessary.

Table of Contents

Chapter 1: The Software Task Management Tool – Rake
Installing Rake
Introducing rake tasks
The command-line arguments
Using global Rakefiles to run tasks anywhere
Defining custom rake tasks
Task dependencies – prerequisites
The structure of a Rake project
The code conventions of Rake
Chapter 2: Working with Files
Using file tasks to work with files
The characteristics of the file task dependencies
Creating a folder with the directory method
Using Rake's file utilities
A practical example of automatically generating a config file
Chapter 3: Working with Rules
Understanding the duplication of the file tasks
Using a rule to get rid of the duplicated file tasks
Detecting a source for the rule dynamically
Using a regular expression to match more tasks
Chapter 4: Cleaning Up a Build
Setting up a project
The cleaning tasks
Chapter 5: Running Tasks in Parallel
Defining tasks with parallel prerequisites
Thread safety of multitasks
Multiple task definitions with a common prerequisite
Applying multitasks in practice
Chapter 6: Debugging Rake Tasks
Using command-line arguments for debugging
Getting a dependency's resolution with --prereqs
Using the --rules option to trace the rule resolution
Using the Ruby approach to debug a Rake project
Chapter 7: Integration with Rails
Introducing Rake's integration with Rails
Custom rake tasks in a Rails project
Recurrent running of tasks
Chapter 8: Testing Rake Tasks
The need for tests
Writing tests for rake tasks
Chapter 9: Continuous Integration
Introducing Jenkins
Setting up Jenkins
Configuring Jenkins to run rake tasks
Chapter 10: Relentless Automation
Examples of Rake being used by famous gems
Other examples of Sinatra using Rake
Thor – the next generation of Rake

What You Will Learn

  • Use the rake command-line tool efficiently
  • Learn Rake's language to write clear custom tasks
  • Run tasks in parallel to speed up the overall runtime of the tasks used
  • Work with file transformations to manage file tasks
  • Refactor a Rake project with the rules, prerequisites, and other technical features built into Rake tools
  • Configure a scheduler to run recurring tasks on a server
  • Configure continuous integration with Rake using a Jenkins example
  • Integrate Rake with the Rails web framework to write Rails-specific rake tasks

In Detail

Rake is a build automation tool written in Ruby. It allows you to specify tasks and describe dependencies as well as group tasks in a namespace. Rake uses Ruby's anonymous function blocks to define various tasks, allowing the use of the Ruby syntax. Rake's goal is to automate build processes quickly and expressively.

"Rake Task Management Essentials" is a practical guide that covers the latest techniques in building, testing, and debugging rake tasks to solve real-world automation challenges. The book starts with a basic knowledge of Rake, allowing you to solve repetitive tasks. Then it provides you with information about processes performed with files, which is crucial for understanding the application of the tool. It includes demonstrations to show you how tasks can be run in parallel and how they can be applied in practice. Thereafter, it integrates Rake with Ruby with the help of simple and clear examples. By the end of this book, you will know how Rake has changed the programming world, especially in the Ruby community.


Read More