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...
Otros Autores: | , , |
---|---|
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.