mirror of
https://github.com/codeguy/php-the-right-way.git
synced 2025-08-17 19:16:20 +02:00
Merge pull request #215 from elemental-shift/gh-pages
Fixed rendering of Martin Fowler Quote in Building your Application
This commit is contained in:
@@ -6,8 +6,9 @@ isChild: true
|
|||||||
|
|
||||||
If you find yourself doing manual database schema changes or running your tests manually before updating your files
|
If you find yourself doing manual database schema changes or running your tests manually before updating your files
|
||||||
(manually), think twice! With every additional manual task needed to deploy a new version of your app, the chances for
|
(manually), think twice! With every additional manual task needed to deploy a new version of your app, the chances for
|
||||||
potentially fatal mistakes increase. Whether you're dealing with a simple update, a comprehensive build process or even
|
potentially fatal mistakes increase. Whether you're dealing with a simple update, a comprehensive build process or
|
||||||
a continuous integration strategy, [build automation](http://en.wikipedia.org/wiki/Build_automation) is your friend.
|
even a continuous integration strategy, [build automation](http://en.wikipedia.org/wiki/Build_automation) is your
|
||||||
|
friend.
|
||||||
|
|
||||||
Among the tasks you might want to automate are:
|
Among the tasks you might want to automate are:
|
||||||
|
|
||||||
@@ -21,21 +22,21 @@ Among the tasks you might want to automate are:
|
|||||||
|
|
||||||
### Build Automation Tools
|
### Build Automation Tools
|
||||||
|
|
||||||
Build tools can be described as a collection of scripts that handle common tasks of software deployment. The build tool
|
Build tools can be described as a collection of scripts that handle common tasks of software deployment. The build
|
||||||
is not a part of your software, it acts on your software from 'outside'.
|
tool is not a part of your software, it acts on your software from 'outside'.
|
||||||
|
|
||||||
There are many open source tools available to help you with build automation, some are written in PHP others aren't.
|
There are many open source tools available to help you with build automation, some are written in PHP others aren't.
|
||||||
This shouldn't hold you back from using them, if they're better suited for the specific job. Here are a few examples:
|
This shouldn't hold you back from using them, if they're better suited for the specific job. Here are a few examples:
|
||||||
|
|
||||||
[Phing](http://www.phing.info/) is the easiest way to get started with automated deployment in the PHP world.
|
[Phing](http://www.phing.info/) is the easiest way to get started with automated deployment in the PHP world. With
|
||||||
With Phing you can control your packaging, deployment or testing process from within a simple XML build file.
|
Phing you can control your packaging, deployment or testing process from within a simple XML build file. Phing (which
|
||||||
Phing (which is based on [Apache Ant](http://ant.apache.org/)) provides a rich set of tasks usually needed to install or
|
is based on [Apache Ant](http://ant.apache.org/)) provides a rich set of tasks usually needed to install or update a
|
||||||
update a web app and can be extended with additional custom tasks, written in PHP.
|
web app and can be extended with additional custom tasks, written in PHP.
|
||||||
|
|
||||||
[Capistrano](https://github.com/capistrano/capistrano/wiki) is a system for *intermediate-to-advanced programmers*
|
[Capistrano](https://github.com/capistrano/capistrano/wiki) is a system for *intermediate-to-advanced programmers* to
|
||||||
to execute commands in a structured, repeatable way on one or more remote machines.
|
execute commands in a structured, repeatable way on one or more remote machines.It is pre-configured for deploying
|
||||||
It is pre-configured for deploying Ruby on Rails applications, however people are **successfully deploying PHP systems**
|
Ruby on Rails applications, however people are **successfully deploying PHP systems** with it. Successful use of
|
||||||
with it. Successful use of Capistrano depends on a working knowledge of Ruby and Rake.
|
Capistrano depends on a working knowledge of Ruby and Rake.
|
||||||
|
|
||||||
Dave Gardner's blog post [PHP Deployment with Capistrano](http://www.davegardner.me.uk/blog/2012/02/13/php-deployment-with-capistrano/)
|
Dave Gardner's blog post [PHP Deployment with Capistrano](http://www.davegardner.me.uk/blog/2012/02/13/php-deployment-with-capistrano/)
|
||||||
is a good starting point for PHP developers interested in Capistrano.
|
is a good starting point for PHP developers interested in Capistrano.
|
||||||
@@ -56,15 +57,13 @@ Further reading:
|
|||||||
### Continuous Integration
|
### Continuous Integration
|
||||||
|
|
||||||
> Continuous Integration is a software development practice where members of a team integrate their work frequently,
|
> Continuous Integration is a software development practice where members of a team integrate their work frequently,
|
||||||
usually each person integrates at least daily — leading to multiple integrations per day. Many teams find that this
|
> usually each person integrates at least daily — leading to multiple integrations per day. Many teams find that this
|
||||||
approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
|
> approach leads to significantly reduced integration problems and allows a team to develop cohesive software more
|
||||||
|
> rapidly.
|
||||||
|
|
||||||
*Martin Fowler*
|
*Martin Fowler*
|
||||||
|
|
||||||
There are different ways to implement continuous integration for PHP. Recently [Travis CI](https://travis-ci.org/) has
|
There are different ways to implement continuous integration for PHP. Recently [Travis CI](https://travis-ci.org/) has done a great job of making continuous integration a reality even for small projects. Travis CI is a hosted continuous integration service for the open source community. It is integrated with GitHub and offers first class support for many languages including PHP.
|
||||||
done a great job of making continuous integration a reality even for small projects. Travis CI is a hosted continuous
|
|
||||||
integration service for the open source community. It is integrated with GitHub and offers first class support for many
|
|
||||||
languages including PHP.
|
|
||||||
|
|
||||||
Further reading:
|
Further reading:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user