Система Orphus

Pragmatic Project Automation

How To Build, Deploy and Monitor Java Applications

Автор: Mike Clark
Издательство: The Pragmatic Programmers, 2004
172 страниц

Материал предоставил: Никита Зимин
Найти в магазинах
Купить в Озоне (1221 руб.)

От издателя

Содержание
Комментарии

От издателя

Forget wizards, you need a slave - someone to do your repetitive, tedious and boring tasks, without complaint and without pay, so you'll have more time to design and write exciting code. That's what computers are for: you can enlist your computer to automate all of your project's repetitive tasks, ranging from individual builds and running unit tests through to full product release and customer deployment. Instead of trying to do it by hand - and risk doing it differently or just plain wrong - you can turn these labor-intensive, boring and potentially risky chores into automatic, background processes that just work. This eagerly anticipated book covers a variety of popular, free tools to help automate your project. Armed with plenty of examples and pragmatic advice, you'll find it's easy to get started and reap the benefits of modern software development. You can begin enjoying pragmatic, automatic, unattended software production that's reliable and accurate every time.

Содержание

About the Starter Kit
Preface
1 Introduction
1.1 Look Ma, No Hands!
1.2 Types of Automation
1.3 Questions About Automation
1.4 Road Map
2 One-Step Builds
2.1 Building Software Is Like Making Sausage
2.2 Choosing a Project Directory Structure
2.3 Making Your First Build
2.4 Building with Ant
2.5 Taste-Testing the Build
2.6 Cleaning Up
2.7 Scripting a Build
2.8 Getting an Early Start
3 Scheduled Builds
3.1 Scheduling Your First Build
3.2 Putting a Build on CruiseControl
3.3 Running CruiseControl
3.4 Publishing the Build Status
3.5 Scaling Up
4 Push-Button Releases
4.1 Releasing Early and Often
4.2 Preparing for Your First Release
4.3 Packaging the Release
4.4 Generating the Release
4.5 Tagging the Release
4.6 Handing Off the Release
4.7 Automating the Release Procedure
4.8 Generating Daily Distributions
5 Installation and Deployment
5.1 Delivering the Goods
5.2 Installing the Standard Distribution File
5.3 Troubleshooting by Phone
5.4 Troubleshooting with Diagnostic Tests
5.5 Enhancing Your Installed Image
5.6 Deploying Hosted Applications
5.7 Auto-Updating Installed Applications
6 Monitoring
6.1 Monitoring Scheduled Builds
6.2 Getting Feedback from Visual Devices
6.3 Monitoring Your Java Process
6.4 Checking Up on Your Web Application
6.5 Watching Log Files
6.6 Monitoring with log4j
6.7 Building Trip Wires with RSS
6.8 Monitoring Health with a Debug Command
6.9 Creating a Crash Report
6.10 3-2-1...
6.11 Automate!
A Resources
A.1 On the Web
A.2 Bibliography
B Pragmatic Project Automation: Summary

Комментарии

Никита Зимин

The Pragmatic Programmer Starter Kit

В 1999 году была выпущена книга The Pragmatic Programmer: From Journeyman to Master, ставшая удачным введением в современный процесс разработки ПО. С тех пор прошло много времени, и, следуя пожеланиям читателей, издательство The Pragmatic Programmers выпустило трехтомник The Pragmatic Programmer Starter Kit:

  1. Pragmatic Version Control - введение и руководство по эффективному использованию системы контроля версий. Есть две редакции этой книги: для CVS и для Subversion.
  2. Pragmatic Unit Testing - руководство по эффективному применению модульного тестирования (unit testing). Издается также в двух версиях: для JUnit и для NUnit.
  3. Pragmatic Project Automation - завершающий том, рассматривающий методики и технологии автоматизации задач по сборке, тестированию и выпуску продукта.

Pragmatic Project Automation

Прежде всего, для чего нужна автоматизация? Чтобы сэкономить вам время и избавить вас от рутинной работы. "Машина должна работать, человек - думать" (принцип МежБизМаша). Чем больше команда, работающая над проектом, тем больше потери от простоя такой команды из-за разного рода проблем. Автоматизация поможет снизить риск возникновения таких простоев, снизить риск появления ошибок.

Книга предполагает, что вы уже применяете методики, описанные в первых двух томах серии - т.е. используете систему контроля версий и автоматизированное тестирование - в частности, модульное тестирование.

Для чего используется автоматизация? Что можно автоматизировать? Как это сделать? - вот основные вопросы, на которые отвечает книга. Изложение основано на опыте и дает практические рекомендации. В частности, рассматривается:

Важный момент: в книге рассматриваются только бесплатные инструменты.

Несмотря на слово Java в подзаголовке книги, предлагаемая методология легко переносится на платформу .NET. Для упомянутых инструментов существуют их аналоги: Ant - NAnt, CruiseControl - CruiseControl.NET, log4j - log4net.

В целом - отличная книга, полностью раскрывающая тему автоматизации в процессе разработки. Я рад что она вовремя попала мне в руки, и рад рекомендовать ее вам.