Atjaunināt sīkdatņu piekrišanu

E-grāmata: Jenkins: The Definitive Guide: Continuous Integration for the Masses

3.37/5 (324 ratings by Goodreads)
  • Formāts: 404 pages
  • Izdošanas datums: 12-Jul-2011
  • Izdevniecība: O'Reilly Media
  • Valoda: eng
  • ISBN-13: 9781449313067
Citas grāmatas par šo tēmu:
  • Formāts - EPUB+DRM
  • Cena: 26,49 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Ielikt grozā
  • Pievienot vēlmju sarakstam
  • Šī e-grāmata paredzēta tikai personīgai lietošanai. E-grāmatas nav iespējams atgriezt un nauda par iegādātajām e-grāmatām netiek atmaksāta.
  • Formāts: 404 pages
  • Izdošanas datums: 12-Jul-2011
  • Izdevniecība: O'Reilly Media
  • Valoda: eng
  • ISBN-13: 9781449313067
Citas grāmatas par šo tēmu:

DRM restrictions

  • Kopēšana (kopēt/ievietot):

    nav atļauts

  • Drukāšana:

    nav atļauts

  • Lietošana:

    Digitālo tiesību pārvaldība (Digital Rights Management (DRM))
    Izdevējs ir piegādājis šo grāmatu šifrētā veidā, kas nozīmē, ka jums ir jāinstalē bezmaksas programmatūra, lai to atbloķētu un lasītu. Lai lasītu šo e-grāmatu, jums ir jāizveido Adobe ID. Vairāk informācijas šeit. E-grāmatu var lasīt un lejupielādēt līdz 6 ierīcēm (vienam lietotājam ar vienu un to pašu Adobe ID).

    Nepieciešamā programmatūra
    Lai lasītu šo e-grāmatu mobilajā ierīcē (tālrunī vai planšetdatorā), jums būs jāinstalē šī bezmaksas lietotne: PocketBook Reader (iOS / Android)

    Lai lejupielādētu un lasītu šo e-grāmatu datorā vai Mac datorā, jums ir nepieciešamid Adobe Digital Editions (šī ir bezmaksas lietotne, kas īpaši izstrādāta e-grāmatām. Tā nav tas pats, kas Adobe Reader, kas, iespējams, jau ir jūsu datorā.)

    Jūs nevarat lasīt šo e-grāmatu, izmantojot Amazon Kindle.

Learn how to automate your build, integration, release and deployment process with Jenkins, the popular Java-based open source tool that has revolutionized the way teams think about continuous integration (CI). This concise guide shows you how to seamlessly include Jenkins in the development process—and demonstrates how CI can save you time, money, and many headaches.

Ideal whether you're a developer, software architect, or project manager, Jenkins: The Definitive Guide provides a tutorial on CI as well as a comprehensive reference for using Jenkins. You get a wealth of best practices and real-world tips to help you get the most out of this tool. And you’ll quickly discover how Jenkins' intuitive user interface and powerful features make setting up a CI service a real breeze.

  • Get a complete tour of Jenkins, and learn how to install and configure this tool
  • Set up, organize, and monitor your build jobs
  • Learn about advanced build job configuration, including build pipelines, parameterized build jobs, and matrix builds
  • Automate tests and code quality metrics
  • Put in place effective team notification strategies and techniques
  • Secure your Jenkins server
  • Automate your deployment process
  • Use Jenkins for distributed builds, and implement CI on large projects
  • Become familiar with Jenkins plugins—and learn how to write your own
  • Use Jenkins with other programming languages, including Groovy, Grails and .NET
Foreword xiii
Preface xv
1 Introducing Jenkins
1(8)
Introduction
1(1)
Continuous Integration Fundamentals
1(2)
Introducing Jenkins (nee Hudson)
3(1)
From Hudson to Jenkins---A Short History
4(1)
Should 1 Use Jenkins or Hudson?
5(1)
Introducing Continuous Integration into Your Organization
6(2)
Phase 1 No Build Server
6(1)
Phase 2 Nightly Builds
6(1)
Phase 3 Nightly Builds and Basic Automated Tests
6(1)
Phase 4 Enter the Metrics
7(1)
Phase 5 Getting More Serious About Testing
7(1)
Phase 6 Automated Acceptance Tests and More Automated Deployment
7(1)
Phase 7 Continuous Deployment
7(1)
Where to Now?
8(1)
2 Your First Steps with Jenkins
9(32)
Introduction
9(1)
Preparing Your Environment
9(4)
Installing Java
10(1)
Installing Git
10(1)
Setting Up a GitHub Account
11(1)
Configuring SSH Keys
11(1)
Forking the Sample Repository
12(1)
Starting Up Jenkins
13(4)
Configuring the Tools
17(4)
Configuring Your Maven Setup
18(1)
Configuring the JDK
19(1)
Notification
20(1)
Setting Up Git
20(1)
Your First Jenkins Build Job
21(5)
Your First Build Job in Action
26(7)
More Reporting---Displaying Javadocs
33(1)
Adding Code Coverage and Other Metrics
34(6)
Conclusion
40(1)
3 Installing Jenkins
41(24)
Introduction
41(1)
Downloading and Installing Jenkins
41(3)
Preparing a Build Server for Jenkins
44(2)
The Jenkins Home Directory
46(1)
Installing Jenkins on Debian or Ubuntu
47(1)
Installing Jenkins on Redhat, Fedora, or CentOS
48(1)
Installing Jenkins on SUSE or OpenSUSE
48(1)
Running Jenkins as a Stand-Alone Application
49(3)
Running Jenkins Behind an Apache Server
52(1)
Running Jenkins on an Application Server
53(1)
Memory Considerations
54(1)
Installing Jenkins as a Windows Service
54(4)
What's in the Jenkins Home Directory
58(4)
Backing Up Your Jenkins Data
62(1)
Upgrading Your Jenkins Installation
62(1)
Conclusion
63(2)
4 Configuring Your Jenkins Server
65(14)
Introduction
65(1)
The Configuration Dashboard---The Manage Jenkins Screen
65(3)
Configuring the System Environment
68(1)
Configuring Global Properties
69(1)
Configuring Your JDKs
70(2)
Configuring Your Build Tools
72(3)
Maven
73(1)
Ant
74(1)
Shell-Scripting Language
75(1)
Configuring Your Version Control Tools
75(1)
Configuring Subversion
76(1)
Configuring CVS
76(1)
Configuring the Mail Server
76(1)
Configuring a Proxy
77(1)
Conclusion
78(1)
5 Setting Up Your Build Jobs
79(56)
Introduction
79(1)
Jenkins Build Jobs
79(1)
Creating a Freestyle Build Job
80(4)
General Options
81(1)
Advanced Project Options
82(2)
Configuring Source Code Management
84(13)
Working with Subversion
84(3)
Working with Git
87(10)
Build Triggers
97(5)
Triggering a Build Job Once Another Build Job Has Finished
98(1)
Scheduled Build Jobs
98(1)
Polling the SCM
99(1)
Triggering Builds Remotely
100(2)
Manual Build Jobs
102(1)
Build Steps
102(8)
Maven Build Steps
102(2)
Ant Build Steps
104(1)
Executing a Shell or Windows Batch Command
105(1)
Using Jenkins Environment Variables in Your Builds
106(2)
Running Groovy Scripts
108(2)
Building Projects in Other Languages
110(1)
Post-Build Actions
110(5)
Reporting on Test Results
110(1)
Archiving Build Results
111(3)
Notifications
114(1)
Building Other Projects
115(1)
Running Your New Build Job
115(1)
Working with Maven Build Jobs
115(10)
Building Whenever a SNAPSHOT Dependency Is Built
116(1)
Configuring the Maven Build
117(2)
Post-Build Actions
119(1)
Deploying to an Enterprise Repository Manager
119(4)
Deploying to Commercial Enterprise Repository Managers
123(1)
Managing Modules
123(1)
Extra Build Steps in Your Maven Build Jobs
123(2)
Using Jenkins with Other Languages
125(8)
Building Projects with Grails
125(2)
Building Projects with Gradle
127(3)
Building Projects with Visual Studio MSBuild
130(1)
Building Projects with NAnt
131(1)
Building Projects with Ruby and Ruby on Rails
131(2)
Conclusion
133(2)
6 Automated Testing
135(34)
Introduction
135(1)
Automating Your Unit and Integration Tests
136(1)
Configuring Test Reports in Jenkins
137(2)
Displaying Test Results
139(3)
Ignoring Tests
142(2)
Code Coverage
144(11)
Measuring Code Coverage with Cobertura
145(8)
Measuring Code Coverage with Clover
153(2)
Automated Acceptance Tests
155(3)
Automated Performance Tests with JMeter
158(8)
Help! My Tests Are Too Slow!
166(2)
Add More Hardware
167(1)
Run Fewer Integration/Functional Tests
167(1)
Run Your Tests in Parallel
168(1)
Conclusion
168(1)
7 Securing Jenkins
169(26)
Introduction
169(1)
Activating Security in Jenkins
169(1)
Simple Security in Jenkins
170(1)
Security Realms---Identifying Jenkins Users
171(10)
Using Jenkins's Built-in User Database
171(4)
Using an LDAP Repository
175(1)
Using Microsoft Active Directory
176(1)
Using Unix Users and Groups
177(1)
Delegating to the Servlet Container
177(1)
Using Atlassian Crowd
178(1)
Integrating with Other Systems
178(3)
Authorization---Who Can Do What
181(8)
Matrix-based Security
181(4)
Project-based Security
185(3)
Role-based Security
188(1)
Auditing---Keeping Track of User Actions
189(4)
Conclusion
193(2)
8 Notification
195(30)
Introduction
195(1)
Email Notification
195(2)
More Advanced Email Notification
197(3)
Claiming Builds
200(1)
RSS Feeds
201(1)
Build Radiators
202(1)
Instant Messaging
203(6)
IM Notification with Jabber
204(4)
IM Notification using IRC
208(1)
IRC Notification
209(3)
Desktop Notifiers
212(1)
Notification via Notifo
213(3)
Mobile Notification
216(1)
SMS Notification
216(2)
Making Noise
218(3)
Extreme Feedback Devices
221(2)
Conclusion
223(2)
9 Code Quality
225(28)
Introduction
225(1)
Code Quality in Your Build Process
226(1)
Popular Java and Groovy Code Quality Analysis Tools
227(10)
Checkstyle
227(3)
PMD/CPD
230(4)
FindBugs
234(2)
CodeNarc
236(1)
Reporting on Code Quality Issues with the Violations Plugin
237(5)
Working with Freestyle Build Jobs
238(3)
Working with Maven Build Jobs
241(1)
Using the Checkstyle, PMD, and FindBugs Reports
242(3)
Reporting on Code Complexity
245(2)
Reporting on Open Tasks
247(1)
Integrating with Sonar
248(4)
Conclusion
252(1)
10 Advanced Builds
253(48)
Introduction
253(1)
Parameterized Build Jobs
253(9)
Creating a Parameterized Build Job
254(1)
Adapting Your Builds to Work with Parameterized Build Scripts
254(3)
More Advanced Parameter Types
257(2)
Building from a Subversion Tag
259(1)
Building from a Git Tag
260(1)
Starting a Parameterized Build Job Remotely
260(1)
Parameterized Build Job History
261(1)
Parameterized Triggers
262(1)
Multiconfiguration Build Jobs
263(7)
Setting Up a Multiconfiguration Build
264(1)
Configuring a Slave Axis
265(1)
Configuring a JDK Axis
266(1)
Custom Axis
267(1)
Running a Multiconfiguration Build
267(3)
Generating Your Maven Build Jobs Automatically
270(7)
Configuring a Job
271(1)
Reusing Job Configuration with Inheritance
272(2)
Plugin Support
274(3)
Freestyle Jobs
277(1)
Coordinating Your Builds
277(4)
Parallel Builds in Jenkins
277(1)
Dependency Graphs
278(1)
Joins
278(2)
Locks and Latches
280(1)
Build Pipelines and Promotions
281(18)
Managing Maven Releases with the M2Release Plugin
282(3)
Copying Artifacts
285(3)
Build Promotions
288(7)
Aggregating Test Results
295(1)
Build Pipelines
296(3)
Conclusion
299(2)
11 Distributed Builds
301(22)
Introduction
301(1)
The Jenkins Distributed Build Architecture
301(1)
Master/Slave Strategies in Jenkins
302(10)
The Master Starts the Slave Agent Using SSH
303(4)
Starting the Slave Agent Manually Using Java Web Start
307(3)
Installing a Jenkins Slave as a Windows Service
310(1)
Starting the Slave Node in Headless Mode
311(1)
Starting a Windows Slave as a Remote Service
311(1)
Associating a Build Job with a Slave or Group of Slaves
312(2)
Node Monitoring
314(1)
Cloud Computing
314(5)
Using Amazon EC2
315(4)
Using the CloudBees DEV@cloud Service
319(2)
Conclusion
321(2)
12 Automated Deployment and Continuous Delivery
323(20)
Introduction
323(1)
Implementing Automated and Continuous Deployment
324(4)
The Deployment Script
324(1)
Database Updates
325(2)
Smoke Tests
327(1)
Rolling Back Changes
328(1)
Deploying to an Application Server
328(13)
Deploying a Java Application
329(10)
Deploying Scripting-based Applications Like Ruby and PHP
339(2)
Conclusion
341(2)
13 Maintaining Jenkins
343(16)
Introduction
343(1)
Monitoring Disk Space
343(4)
Using the Disk Usage Plugin
345(1)
Disk Usage and the Jenkins Maven Project Type
346(1)
Monitoring the Server Load
347(1)
Backing Up Your Configuration
348(5)
Fundamentals of Jenkins Backups
349(2)
Using the Backup Plugin
351(1)
More Lightweight Automated Backups
352(1)
Archiving Build Jobs
353(1)
Migrating Build Jobs
354(4)
Conclusion
358(1)
Appendix: Automating Your Unit and Integration Tests 359(10)
Index 369
John is a freelance consultant specializing in Enterprise Java, Web Development, and Open Source technologies, currently based in Wellington, New Zealand. Well known in the Java community for his many published articles, John helps organizations optimize their Java development processes and infrastructures and provides training and mentoring in open source technologies, SDLC tools, and agile development processes. John is principal consultant at Wakaleo Consulting http://www.wakaleo.com/ (http://www.wakaleo.com), a company that provides consulting, training and mentoring services in Enterprise Java and Agile Development.