Hudson continuous integration in practice

Best Practices for Implementing Continuous Integration with Hudson Optimize productivity while reducing risk and complexity by adopting a highly agile, "automate everything" software design philosophy. Hudson Continuous Integration in Practice shows you how to streamline and stabilize each...

Descripción completa

Detalles Bibliográficos
Otros Autores: Burns, Ed, author (author), Prakash, Winston, author (writer of foreword), Milinkovich, Mike, writer of foreword
Formato: Libro electrónico
Idioma:Inglés
Publicado: New York : McGraw-Hill Education [2014]
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009627781306719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright Page
  • About the Authors
  • Contents
  • Foreword
  • Acknowledgments
  • Introduction
  • Part I: Essential Knowledge
  • Chapter 1: Getting Started
  • Installing Hudson
  • Trying Hudson with the Easy Installation Method
  • Installing Hudson as a Windows Service
  • Installing Hudson to Start When a User Logs in to Mac OS X
  • Installing Hudson Within Tomcat
  • Installing Hudson on GNU/Linux
  • Basic Hudson Configuration
  • Your First Job: Back Everything Up
  • Summary
  • Chapter 2: Hudson Precondition Primer
  • Hudson in the Software Development Lifecycle
  • Developer
  • Tester
  • Manager
  • Architect
  • Release Engineer
  • Example: Orchestration of Roles Around Hudson
  • Software Development as Marionette Theatre Production
  • Development Platforms
  • Software Configuration Management
  • Builders
  • Integrated Development Environments
  • Eclipse
  • Oracle JDeveloper
  • IntelliJ IDEA
  • NetBeans
  • Testing Tools
  • Soft Correctness Testing Tools
  • Summary
  • Chapter 3: Basic Concepts
  • Intermediate Hudson Configuration
  • Adding Source Code Management (SCM) to Your Jobs
  • Your Second Job: A Simple Java Program
  • Your Third Job: A Simple Servlet
  • Using the Plugin Center
  • Your Fourth Job: Advanced Backup Options
  • Hudson Authentication Security
  • Adding Quality Assurance Systems
  • Build Notifiers
  • Configuring E-mail Server
  • Configuring the Job to Send Build Status Message
  • Summary
  • Part II: Applying Hudson
  • Chapter 4: Hudson as a Continuous Integration Server
  • What Is Continuous Integration?
  • Setting Up the CI Environment
  • Sherwood County Library
  • Sherwood Library Software Components
  • Source Code Management
  • Build Automation
  • Maven as an Automated Build Tool
  • Speeding Up the Build
  • Managing the Upstream-Downstream Jobs Complexity
  • Continuous Testing
  • Types of Tests.
  • Viewing the Unit Test Results
  • Test Result Trends
  • Code Metrics and Code Coverage
  • Continuous Feedback
  • Extended E-mail Notification
  • Continuous Delivery or Deployment
  • Deploying a Java Application to an Applications Server
  • Uploading Build Artifacts to Another Machine
  • Executing Commands on a Remote Machine
  • Summary
  • Chapter 5: Hudson and Automated Testing
  • Containing Code and Code Under Test
  • A Quick Tour of the Maven Build Lifecycle
  • Quick Code Jumpstart: Simple Servlet Testing
  • Automated Testing: Shields Up!
  • The Software Lineup
  • Who Writes the Tests?
  • Kinds of Tests
  • Unit and Component Testing with Arquillian in Hudson
  • Hudson Automated Testing Tips
  • Summary
  • Chapter 6: Hudson as Part of Your Tool Suite
  • IDE Integration
  • Creating a New Hudson Job Directly from a NetBeans Project
  • Eclipse Hudson Integration
  • IntelliJ IDEA Hudson Integration
  • JDeveloper Hudson Integration
  • Hudson Issue Tracker Integration
  • Atlassian JIRA Integration
  • Bugzilla Integration
  • Other Issue Trackers
  • Browser and Desktop Integration
  • Browser Integration
  • Desktop Integration
  • Mobile Integration
  • Publishing Build Artifacts from Hudson
  • Artifact Repository
  • Deploy to Container
  • FTP Publisher Plugin
  • Summary
  • Chapter 7: Distributed Building Using Hudson
  • Master-Slave Mode
  • Hudson Slaves
  • Types of Slaves
  • Adding a Slave Node to Hudson
  • Adding an Unmanaged Slave via JNLP Launcher
  • Adding an SSH-Based Managed Slave
  • Distributing the Builds
  • Managing Slaves
  • Summary
  • Chapter 8: Basic Plugin Development
  • Writing a HelloWorld Plugin
  • Creating the Plugin Project
  • Creating a Service Hook
  • Building the Plugin
  • Testing the Plugin
  • HPI Tool
  • Creating a Skeleton Plugin Project
  • Building and Running the Plugin Project
  • Testing the Skeleton Plugin.
  • Understanding the Hudson Plugin Framework
  • What Is an Extension Point?
  • Extending an Extension Point
  • Examining the Sample Extension
  • Modifying the Sample Extension
  • Extension UI Configuration
  • Configuration File Conventions
  • Configuration UI Rendering
  • Interaction Between UI and Model
  • UI Validation
  • Global UI Configuration
  • Summary
  • Part III: The Hudson Lifestyle
  • Chapter 9: Advanced Plugin Development
  • Extending Various Aspects of Hudson Dashboards
  • Creating a Custom Rendered Jobs Status View
  • Using the Custom Rendered View
  • Adding a Custom Column to the Default View
  • Adding an Action to the Action Panel of the Main Dashboard
  • Custom Decoration of Hudson Pages
  • Extending Various Aspects of a Hudson Job
  • Adding a Custom Notifier to a Job
  • Adding a Custom Link to a Job Dashboard
  • Creating a Custom Build Wrapper
  • Summary
  • Chapter 10: Hudson Best Practices
  • Manage the Hudson Resources Effectively
  • Tune Memory
  • Restrict Job History Depth
  • Monitor the Disk Space
  • Put Your Hudson Behind a Web Proxy
  • Do Not Use Your Hudson as a File Server
  • Periodically Back Up Your Hudson Contents
  • Set Up a Fail-Safe Mode for Your Hudson
  • Redundant Hudson Server Setup
  • Monitoring Hudson Setup
  • Server Switch on Failure
  • Redirecting HTTP Traffic to a Redundant Server
  • Scale Up the Security of Your Hudson
  • Restrict Job Access to Certain Users
  • Add Roles to the Authorization Matrix
  • Upgrade Your Hudson Diligently
  • Understand the Hudson Versioning Scheme
  • Upgrade in a Sandbox First
  • Summary
  • Part IV: Appendixes
  • Appendix A: Widely Used Hudson Plugins
  • Appendix B: Personal Hudson Instance
  • Hudson-as-Valet
  • Optimal Hudson-as-Valet Setup
  • Hudson for Work Area Maintenance
  • The Open-Source Liaison Role
  • The Committer Role
  • Hudson as General-Purpose Scheduler.
  • Hudson Plot Plugin
  • Summary
  • Appendix C: Hudson for Windows Developers
  • Key Enablers for Using Hudson on Non-Java Platforms
  • Build Step
  • Collect Results Step
  • Hudson and the Windows Software Platform
  • Hudson and Automated Testing on Windows
  • Summary
  • Index.