■ Contents
xix
Mounting Local Directories on the Vagrant Box ����������������������������������������������������������� 490
Provisioning ������������������������������������������������������������������������������������������������������������������ 491
Setting Up the Web Server ������������������������������������������������������������������������������������������������������������������ 492
Setting Up MySQL ������������������������������������������������������������������������������������������������������������������������������� 493
Configuring a Host Name �������������������������������������������������������������������������������������������������������������������� 494
Wrapping It Up �������������������������������������������������������������������������������������������������������������� 495
Summary ���������������������������������������������������������������������������������������������������������������������� 496
■Chapter 21: Continuous Integration ������������������������������������������������������������������� 497
What Is Continuous Integration? ���������������������������������������������������������������������������������� 497
Preparing a Project for CI �������������������������������������������������������������������������������������������������������������������498
Installing Jenkins Plug-ins ����������������������������������������������������������������������������������������������������������������� 509
Setting up the Git Public Key �������������������������������������������������������������������������������������������������������������� 511
Installing a Project ������������������������������������������������������������������������������������������������������������������������������ 511
Running the First Build ����������������������������������������������������������������������������������������������������������������������� 516
Configuring the Reports ���������������������������������������������������������������������������������������������������������������������� 517
Triggering Builds ��������������������������������������������������������������������������������������������������������������������������������� 520
Summary ���������������������������������������������������������������������������������������������������������������������� 523
■Chapter 22: Objects, Patterns, Practice ������������������������������������������������������������� 525
Objects ������������������������������������������������������������������������������������������������������������������������� 525
Choice ������������������������������������������������������������������������������������������������������������������������������������������������� 526
Encapsulation and Delegation ������������������������������������������������������������������������������������������������������������ 526
Decoupling ������������������������������������������������������������������������������������������������������������������������������������������ 526
Reusability ������������������������������������������������������������������������������������������������������������������������������������������ 527
Aesthetics ������������������������������������������������������������������������������������������������������������������������������������������� 527
Patterns ������������������������������������������������������������������������������������������������������������������������ 527
What Patterns Buy Us ������������������������������������������������������������������������������������������������������������������������� 528
Patterns and Principles of Design ������������������������������������������������������������������������������������������������������ 529
Practice ������������������������������������������������������������������������������������������������������������������������ 530
Testing ������������������������������������������������������������������������������������������������������������������������������������������������ 530
Standards �������������������������������������������������������������������������������������������������������������������������������������������531