<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Tue, 22 May 2012 13:40:00 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: Deploy and Release your Applications with Phing]]></title>
      <guid>http://www.phpdeveloper.org/news/17806</guid>
      <link>http://www.phpdeveloper.org/news/17806</link>
      <description><![CDATA[<p>
In <a href="http://phpmaster.com/deploy-and-release-your-applications-with-phing/">this new post</a> to the PHPMaster.com site today <i>Vito Tardia</i> introduces you to <a href="http://phing.info">Phing</a>, a tool for making builds and deploying your applications (and it's PHP based!)
</p>
<blockquote>
Suppose you have a web application that is installed on many hosts. Each installation may have a custom configuration, and the application is still in active development. You need an easy way to deploy new features and bug fixes to all of hosts. [...] In this article I show you how to use this knowledge [from <a href="http://phpmaster.com/using-phing/">this previous article</a>] to write a boilerplate build file, one that can be customized and reused in your real-world applications. We'll use Phing's Subversion tasks to manage the repository and the FileSync extension to synchronize your local installation with a remote server.
</blockquote>
<p>
He helps you to get the environment set up correctly (installing the needed PEAR packages), create a basic build file with the FTP settings in it and creating a "deploy" target to do the work. He also shows the settings/configuration involved in a "prepare" target that does the SVN work to do some of the pre-push work. Finally, he shows a "release" target that bundles up the files into a package and pushes it up to the server (via FTP).
</p>]]></description>
      <pubDate>Thu, 12 Apr 2012 08:24:05 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Till Klampaeckel's Blog: Deploying PHP applications: PEAR and composer resources for chef]]></title>
      <guid>http://www.phpdeveloper.org/news/17592</guid>
      <link>http://www.phpdeveloper.org/news/17592</link>
      <description><![CDATA[<p>
In a new post to his site <i>Till Klampaeckel</i> shows how to <a href="http://till.klampaeckel.de/blog/archives/180-Deploying-PHP-applications-PEAR-and-composer-resources-for-chef.html">use PEAR and composer resources</a> (two popular PHP package management tools) from inside of a chef deployment script.
</p>
<blockquote>
This is something experimental I have been working on for our chef deployments. So the objective was/is to find a sane way to install PEAR packages and install dependencies with composer.
</blockquote>
<p>
He shows how to set up the configuration script to discover a new PEAR channel, make the chef script not "fail hard" if a command returns a failed response code (as PEAR will do if the channel is already discovered). The "ignore_failure" configuration directive comes in handy for this. He also shows how to implement a <a href="http://wiki.opscode.com/display/chef/Lightweight+Resources+and+Providers+%28LWRP%29">LWRP</a> in chef for both a PEAR and Composer resource. 
</p>
<p>
You can find the code for this and other cookbook examples <a href="https://github.com/till/easybib-cookbooks/tree/master/php/">on his github account</a>.
</p>]]></description>
      <pubDate>Mon, 27 Feb 2012 13:17:57 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian Swan's Blog: Automating PHPUnit Tests in Windows Azure]]></title>
      <guid>http://www.phpdeveloper.org/news/17351</guid>
      <link>http://www.phpdeveloper.org/news/17351</link>
      <description><![CDATA[<p>
<i>Brian Swan</i> has posted another tutorial in a series looking at testing applications on the Azure platform. In <a href="http://blogs.msdn.com/b/silverlining/archive/2012/01/03/automating-phpunit-tests-in-windows-azure.aspx">this latest post</a> he talks about how to automate your <a href="http://phpunit.de">PHPUnit</a> tests as a part of the start up of the instance.
</p>
<blockquote>
In this post, I'll show you how to deploy your PHPUnit tests with your application, have the tests run as a start up task, and have the results written to your storage account for analysis. Attached to this post is a .zip file that contains a skeleton project that you can use to automatically run PHPUnit tests when you deploy a PHP application to Azure. I'll walk you though how to use the skeleton project, then provide a bit more detail as to how it all works (so you can make modifications where necessary).
</blockquote>
<p>He has it broken up into a few easy-to-follow steps:</p>
<ul>
<li>Download <a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-25-21-34/AzurePHPWebRole.zip">the AzurePHPWebRole</a> zip archive and unpack it
<li>Copy your application, tests and PHP installation into the resulting file structure
<li>Create a skeleton "ServiceConfiguration.cscfg" file with the "cspack" command and edit it to change the "osfamily" and "osversion" settings
<li>Use "cspack" to package up the application and <a href="http://azurephp.interoperabilitybridges.com/articles/deploying-your-first-php-application-to-windows-azure#new_deploy">deploy the application</a>
</ul>
<p>
He walks you through the "how it works" steps too - the things that happen for you automatically on the server side to do things like set up the file to log to, configure the PHP environment and execute the "runtests" Powershell file as included in the AzurePHPWebRole download.
</p>]]></description>
      <pubDate>Thu, 05 Jan 2012 11:58:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Mike Willbanks' Blog: RPM Packaging - Building and Deploying your own PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17291</guid>
      <link>http://www.phpdeveloper.org/news/17291</link>
      <description><![CDATA[<p>
<i>Mike Willbanks</i> has a new post to his blog about a different sort of technique for deploying PHP - <a href="http://blog.digitalstruct.com/2011/12/21/rpm-packaging-building-and-deploying-your-own-php/">building your own RPMs</a> instead of just using the pre-packaged ones. This opens up a whole world of customization options.
</p>
<blockquote>
In the PHP world, one might ask why not just build it from source? Well, an RPM IS built from source and then distributed to many servers - we can ensure that we have the same packages on each, we can maintain the same versions and if you've read my <a href="http://blog.digitalstruct.com/2011/02/09/building-and-maintaining-a-pear-server-with-pirum/">previous post on Pirum</a> you will know that I also like mirroring PEAR packages.
</blockquote>
<p>
He walks you through the structure of an RPM package (the spec file, with examples, and the source), the "%prep", "%build" and "%install" containers as well as where the source needs to live for things to work correctly.
</p>]]></description>
      <pubDate>Thu, 22 Dec 2011 09:41:18 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Devshed: Building a PHP ORM: Deploying a Blog]]></title>
      <guid>http://www.phpdeveloper.org/news/17237</guid>
      <link>http://www.phpdeveloper.org/news/17237</link>
      <description><![CDATA[<p>
DevShed concludes their three-part series about building an ORM in PHP with <a href="http://www.devshed.com/c/a/MySQL/Building-a-PHP-ORM-Deploying-a-Blog/">this latest article</a>. It introduces the idea of dependency injection into the mix, showing how it can be used in the relationships between entities.
</p>
<blockquote>
if you've already read the two installments that precede this one, it's probable that you're familiar with the inner workings of this sample ORM. In those chapters I implemented the ORM's data access and mapping layers, along with a simple domain model. To be frank, the development of this last tier is entirely optional; however, it's useful for demonstrating the ORM's actual functionality in the deployment of a blog program, which naturally will handle some "typical" domain objects, namely blog entries, comments and authors.
</blockquote>
<p>
They share the code for creating proxy objects and, using a "poor man's dependency injection container" made from a factory method, interfaces and service classes to handle the results.
</p>]]></description>
      <pubDate>Fri, 09 Dec 2011 11:13:18 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: PHPFog Gifts Free-for-Life Applications]]></title>
      <guid>http://www.phpdeveloper.org/news/17221</guid>
      <link>http://www.phpdeveloper.org/news/17221</link>
      <description><![CDATA[<p>
PHPFog, the PHP-centric platform as a service has <a href="http://blog.phpfog.com/2011/12/06/php-fog-is-free-forever-and-now-even-more-free/">made a new post</a> to this blog about two new "gifts" they're providing to developers:
</p>
<blockquote>
I want to thank you for your interest in PHP Fog. Thanks to you and tens of thousands of developers like you, we have grown massively in the last year and  a half.  As a sign of my gratitude, I'd like to give you two free gifts.
</blockquote>
<p>
Their gifts to the community are a conversion of the 6 month applications over to a free-for-life product and you can now deploy three of these "free forever" applications instead of just the one. You can <a href="https://phpfog.com/users/new">signup here</a> for the service with offerings of installed software like PyroCMS, Drupal 7, MediaWiki and Slim. For more information, you can <a href="https://www3.gotomeeting.com/register/311441990">attend this webinar</a>.
</p>]]></description>
      <pubDate>Wed, 07 Dec 2011 08:42:32 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Kevin Schroeder's Blog: Connecting to PHPCloud.com through Zend Studio 9]]></title>
      <guid>http://www.phpdeveloper.org/news/17133</guid>
      <link>http://www.phpdeveloper.org/news/17133</link>
      <description><![CDATA[<p>
If you're a Zend Studio user and have been wondering how to hook it directly into the <a href="http://phpcloud.com">phpcloud</a> service from Zend, <i>Kevin Schroeder</i> has <a href="http://www.eschrade.com/page/connecting-to-phpcloud-com-through-zend-studio-9">posted complete instructions</a> in a new post today (complete with screenshots).
</p>
<blockquote>
PHPCloud.com is the landing page for our new cloud offering.  Using the <a href="http://www.eschrade.com/page/what-is-phpcloud-com/">Zend Application Fabric</a> you can build your applications in the same environment as you will be deploying your apps to.  The application is built on my.phpcloud.com and you can then deploy it onto any platform where the Fabric is supported. But how do you get started?  Phpcloud.com has been built in a way where you can connect with any IDE.  With Zend Studio 9 that connectivity has been built directly in to the IDE.
</blockquote>
<p>
It's a simple six (well, technically seven) step process that involves setting up a new project, configuring some deployment options and hitting "deploy". Zend Studio makes it super simple to launch your application as many times as you need - a one-click deploy once things are all set up.
</p>]]></description>
      <pubDate>Wed, 16 Nov 2011 08:02:19 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Getting Started with Jenkins for PHP Developers]]></title>
      <guid>http://www.phpdeveloper.org/news/16503</guid>
      <link>http://www.phpdeveloper.org/news/16503</link>
      <description><![CDATA[<p>
On PHPBuilder.com today there's a new tutorial from <i>Jason Gilmore</i> helping you <a href="http://www.phpbuilder.com/columns/jenkins-ci/Jason_Gilmore06212011.php3">get started with Jenkins</a> for building and deploying your PHP applications. Jenkins (formerly Hudson) can make things "one click simple" for you to correctly push your applications live every time.
</p>
<blockquote>
Although a Java-based solution, an active plugin community has made it possible to use Jenkins for far more than Java-specific projects. More recently it has become much easier for Jenkins' novices to use the project in conjunction with PHP projects thanks to the work of <a href="http://sebastian-bergmann.de/">Sebastian Bergmann</a>. Known as <a href="http://jenkins-php.org/">Template for Jenkins Jobs for PHP Projects</a>, the project provides a configuration file which you'll use to enable Jenkins/PHP integration, and supports several popular familiar PHP tools such as <a href="http://www.phpbuilder.com/columns/PHP_CodeSniffer/Jason_Gilmore10212010.php3">PHP_CodeSniffer</a> and <a href="http://www.phpbuilder.com/columns/Jason_Gilmore052510.php3">PHPUnit</a>.
</blockquote>
<p>
He walks you through a brief installation of Jenkins (packages on a Debian install) and shows you how to get your git repository, the source for it to pull from) configured and ready to pull. He also includes some other screenshots showing you where to look for the build status, results from past builds and how to get the system to build documentation as a part of the build.
</p>]]></description>
      <pubDate>Wed, 22 Jun 2011 09:20:26 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP and Me Blog: Use Phing to Update your SVN-Version-Controlled Website Automatically, Through FTP]]></title>
      <guid>http://www.phpdeveloper.org/news/16492</guid>
      <link>http://www.phpdeveloper.org/news/16492</link>
      <description><![CDATA[<p>
On the "PHP and Me" blog there's a new entry from <i>Pinpin Bysma</i> showing how to use the PHP-based deployment tool <a href="http://phing.info">Phing</a> to <a href="http://phpandme.tumblr.com/post/6662397015/use-phing-to-update-your-svn-version-controlled-website">update your production website via an FTP connection</a>, automated by a Phing build.
</p>
<blockquote>
If you're working on a PHP project, like with any other project, probably comes a time when you need to "build a new release," e.g. update the production web site with the latest version of the code. And doing the whole thing manually isn't the most efficient way to get things done, especially if you're lazy, or have to do that every once in a while, over a long period of time. [...] Obviously if updating the site itself could be done without FTP but through a simple svn switch, things would be easier. Still, Phing would allow to make things easier just as nicely. It could for example still be used to create the new tag, trigger the switch, etc
</blockquote>
<p>
He introduces the process by showing a basic Phing build file that uses the PEAR VersionControl_SVN component to get the latest from the repository and push it to another directory. There was one thing that he wanted to do that the default SVN task couldn't - export the difference between two tags. To make this happen, he had to extend Phing and make a new task - SvnExportDiff. He includes the code for this new task and an updated build file to show it all in use - complete with the FtpDeploy to push the code live.]]></description>
      <pubDate>Mon, 20 Jun 2011 11:57:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[NetTuts.com: Deploy your WordPress Blog to the Cloud]]></title>
      <guid>http://www.phpdeveloper.org/news/16345</guid>
      <link>http://www.phpdeveloper.org/news/16345</link>
      <description><![CDATA[<p>
On NetTuts.com there's a new tutorial showing you how to <a href="http://net.tutsplus.com/tutorials/wordpress/deploy-your-wordpress-blog-to-the-cloud/">deploy your WordPress blog to the cloud</a>, more specifically to the cloud services <a href="http://aws.amazon.com/">Amazon offers</a>.
</p>
<blockquote>
For the last decade, hosting a large scale web application has been a daunting task, reserved only for experts. Not anymore; when Amazon opened its server architecture, everything changed. Computer hardware moved to the cloud, and became available to any and all developers. In this tutorial, we will install WordPress in the cloud.
</blockquote>
<p>
They walk you through all the steps you'll need - from setting up an <a href="http://aws.amazon.com/">AWS account</a>, starting up your first instance and installing the needed server software. It comes complete with screenshots. They also show you how to set up the database and how to pull down the latest WordPress and configure it for use.
</p>]]></description>
      <pubDate>Tue, 17 May 2011 10:50:08 -0500</pubDate>
    </item>
  </channel>
</rss>

