News Feed
Sections




News Archive
feed this:

Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Engine Yard Blog:
Composer & Continuous Integration
April 29, 2015 @ 09:14:11

In a new post to the Engine Yard blog Nils Adermann provides an overview of using Composer with continuous integration, its role in the overall process and some good practices to follow in its use.

Continous Integration (CI) is the practice of continuously (and automatically) testing every change a developer makes. So automated tests become an integral part of the development process providing direct feedback on changes made. [...] Davey Shafik's article on Composer's Lock File explains the typical usage of composer install and update. The key takeaway is that developers should run composer update manually to explicitly update individual dependencies while composer install should be used in automated processes. This principle includes automated test environments.

He points out that using the lock file method reproduces the vendor directory exactly as it is in production and what it means for failures in your automated tests. He also talks about methods to improve the build performance to reduce time spent during the generation of the environment, including the use of the Composer cache data. He includes a few flags you can pass to Composer to reduce not only the libraries it installs but also how it fetches their contents.

0 comments voice your opinion now!
composer continuous integration build process performance automated test composerlock

Link: https://blog.engineyard.com/2015/composer-continuous-integration

Zend Blog:
Continuous Delivery The Benefits and Barriers of Automation
February 10, 2015 @ 12:09:08

On the Zend blog there's a new post that looks at one of the major steps when you start to think about automation in the deployment of your application - continuous delivery.

For many, the process of manually developing and deploying software to production is archaic at best. Even in highly automated software development environments, at least one developer (although often more) typically manages modifications to code and software products, and the ramifications of these modifications can be extensive or unknown. [...] The emerging process for developing and deploying applications of high quality is one that is highly automated, executing continuously, and covers the entire development process, from modifying code through testing to deployment. Automation provides analysis that flags code for improvement and executes full regression tests every time a modification is made.

[...] This process is called continuous delivery, and automation is a key component of a mature continuous delivery process, which includes: continuous integration, infrastructure automation, and release automation.

After the introduction, they get into some of the basic concepts of continuous delivery and what kinds of steps can make up the full process. From there they get into some of the benefits of its introduction including lower staffing costs and enhanced teamwork. They balance this out with two barriers that could prevent adoption - the initial cost and the organization culture considerations that would need to change.

0 comments voice your opinion now!
continuous delivery deployment benefits barriers automation

Link: http://blog.zend.com/2015/02/09/continuous-delivery-the-benefits-and-barriers-of-automation/

Dutch Web Alliance:
Capifony, Continuous Deployment and Symfony's parameter.yml
December 15, 2014 @ 12:10:50

On the Dutch Web Alliance site today they've posted a tutorial about their use of Capifony for Symfony application deployment and how it relates to updating the "parameter.yml" file. They describe their current deployment process, how it works with the different environments and how they solved the one manually problem they had.

The actual deployment is thus dealt with by capifony. This is a plugin for capistrano written for deploying Symfony applications. [...] Capifony automatically deals with cloning the correct branch on the servers, installing dependencies through composer, migrating database versions etc etc. Basically we don't have to care about anything else. However, there is one single thing that still keeps on bugging us: when we want to upgrade to a new parameters.yml, we must do this manually. This means that our builds will break when we deploy a version that requires an updated parameters.yml until we manually solve the issue.

To get around this manual issue, they decided on creating a new Capifony task that does an upload/download of the parameters file, depending on the environment.The continuous deployment can then push or pull the file as needed in a more automatic way.

0 comments voice your opinion now!
continuous deployment paramatersyml configuration capifony capistrano task

Link: https://dutchweballiance.nl/techblog/capifony-continuous-deployment-symfonys-parameter-yml/

HHVM Blog:
Faster GitHub Commits
July 09, 2014 @ 09:23:19

On the Facebook HHVM blog they talk about an improvement they've made to the project allowing for faster GitHub commits on the project. They've reworked things to move away from a manual process on the popular project and automate as much as possible.

Initially, the entire process was manual. We would curl the pull request and pipe it to git am, then manually prepare the diff for review internally. After it was accepted, we would manually prepare the internal commit to be usable externally by GitHub, then manually build and test the new code, and finally git push. Great scripts by ptarjan and sgolemon to help get and prepare pull requests for review and then prepare the commits for GitHub have alleviated some of this manual process. However, in the end, someone still had to manually build, test and then push the code to the world.

Another feature of this effort is a new cron job (facebook-github-bot) that pushes any internal (approved) HHVM code automatically without having to wait for the manual intervention. It syncs all code since the last push, runs all tests and, assuming all went well, pushes it out to GitHub.

we believe that getting your code into the master branch quickly will hopefully help show how much we appreciate your contributions. Now, if there was only a way we could get your pull requests reviewed faster and more openly…. Hmmm…
0 comments voice your opinion now!
github commit release bot continuous integration

Link: http://hhvm.com/blog/5399/faster-github-commits

SitePoint PHP Blog:
Continuous Integration with PHP-CI
July 03, 2014 @ 13:43:22

On the SitePoint PHP blog a new tutorial has been posted from Peter Nijssen showing how to install and configure PHP-CI, a continuous integration library for PHP.

Creating an application is one thing. Keeping it to a certain quality level is another thing entirely. These days, you can find many tools which can help you to keep the quality of your application in shape. Running these tools one by one can be very time consuming. For that, you can install so called continuous integration (CI) services. PHPCI is one of those and in this article, we will dive into it.

The article links you to the latest release and how to install all needed dependencies via Composer. With it set up, they help you add a project and run a sample build. The configuration includes execution of the unit tests, PHP mess detector, PHP code sniffer, CPD, docblock checker and the PHP lines-of-code toolset.

0 comments voice your opinion now!
tutorial continuous integration phpci introduction setup configure

Link: http://www.sitepoint.com/continuous-integration-php-ci/

Semaphoreapp.com:
Continuous Integration & Deployment of PHP applications from GitHub to Heroku
June 18, 2014 @ 11:35:21

The Semaphore site (a testing and deployment service) has posted a tutorial showing how to set up a continuous integration/deployment using their service, GitHub and Heroku for a PHP application.

The practice of continuous delivery is steadily gaining ground in the PHP community. [...] With PHP support being recently launched on both Semaphore and Heroku, you can set up a continuous delivery pipeline for your web application in a matter of minutes. In this post I will show you how to set up continuous integration and deployment for a simple Laravel web application through Semaphore. You can find the application's source code on GitHub.

They walk you through the creation of the Heroku application, grabbing the API key and connecting the Semaphore account with GitHub. Once linked, you can select the repository and any build commands needed for deployment. Finally, they show how to configure the actual continuous version of the deployment and have it release after each successful build.

0 comments voice your opinion now!
semaphore continuous deployment integration github heroku tutorial

Link: https://semaphoreapp.com/blog/2014/06/17/continuous-integration-deployment-php-with-github-semaphore-heroku.html

SitePoint PHP Blog:
PHP and Continuous Integration with Travis CI
May 13, 2014 @ 11:18:55

If you've ever wanted to get into continuous testing and validation of your code but didn't want the hassle of having to set up a new instance/server just to do it, you're in luck. Travis-CI does exactly that and is a hosted platform anyone can use. Today on the SitePoint blog Michael Calkins wants to help you get started using Travis-CI for your PHP-based applications.

Continuous integration (CI) allows a team to commit their work quickly, which means there will be multiple commits to a repository daily. Every time there is a commit it is verified by an automated build (including test) to alert you of any build or test errors immediately. Once the process of integrating and verifying your work into the master becomes automatic you are able to develop cohesive software rapidly.

He starts by introducing Travis -CI and what it has to offer developers. He shows you how to get started, linking it with Github, and how to sync the repositories you want tested in the configuration. He talks about the ".travis.yml" configuration file, provides an example and how to start up a new build. There's also a mention of the build status images you can add to your repository to show the current build status. The rest of the article talks about other topics like pull request testing, a branch summary and how to view the build history.

0 comments voice your opinion now!
continuous integration travisci introduction github tutorial

Link: http://www.sitepoint.com/php-continuous-integration-travis-ci/

SensioLabs Insight Blog:
Jenkins integration
March 13, 2014 @ 09:06:25

The latest post to the SensioLabs Insight blog today shows you how you can integrate the service with Jenkins as a part of your pre-existing continuous integration workflow.

One of the main features of SensioLabsInsight service is that it integrates smoothly into your existing workflow and technical infrastructure. We know that most companies use Jenkins as their continuous integration server and for that reason, SensioLabsInsight provides out-of-the-box Jenkins integration.

The integration uses the Insight API to perform the checks and return a report of the results. They step you through the process to get the connection set up (using the API client) and send the request for processing. The result is returned in PMD format, something Jenkins can easily parse and integrate into the pass/fail of the job. You can also get the details of the issues including error message, file location and the priority of the issue.

0 comments voice your opinion now!
jenkins continuous integration sensiolabs insight

Link: http://blog.insight.sensiolabs.com/2014/02/12/jenkins-integration.html

David Adams:
Zero to Jenkins - PHP Continuous Integration
September 27, 2013 @ 12:15:27

David Adams has posted another screencast to YouTube, this time it's about setting up Jenkins for continuous integration in a PHP-based application. (His previous one about using PHP on Digital Ocean is here).

The tutorial walks you through the entire process, including creating the Vagrant configuration:

  • Installing Jenkins via apt-get
  • Setting up the commands needed to run jobs
  • Configuring it to work with a Bitbucket project
  • Installing plugins/upgrades
  • Security configuration

He also shows some of the results of the job executions, both passing and failing. The video's about 50 minutes long, so it's not a quick installation but it is detailed.

0 comments voice your opinion now!
jenkins screencast continuous integration screencast tutorial

Link: https://www.youtube.com/watch?v=PklYO2vYIfc

SitePoint PHP Blog:
Continuous Deployment Revisited
September 19, 2013 @ 12:52:50

On the SitePoint PHP blog today David Shirley has a new tutorial looking at continuous deployment with a bit more detail than his previous post.

In an earlier article I talked about what Continuous Deployment was and how it fits into the modern programming process. We took a small swipe at how it works, but some people (okay, one person) felt that I could have gone into more detail and they were right. [...] The essence of Continuous Deployment is that you use automated tools to do a lot of the heavy lifting. This means there may or may not be a bit of a learning curve when you first get started. A number of software elements are brought into play, and if you already know how to use those, great. If you don't, just remember that this is a learning curve, not a barrier.

He's broken down the rest of the tutorial into sections relating to the different pieces needed to effectively set up a continuous deployment (CD) system:

  • Effective use of version control
  • Commitment to automated testing
  • Setup and use of automated build software
0 comments voice your opinion now!
continuous deployment series detail versioncontrol testing build software

Link: http://www.sitepoint.com/continuous-deployment-revisited


Community Events

Don't see your event here?
Let us know!


symfony2 voicesoftheelephpant release series introduction php7 opinion application laravel api interview configure performance podcast language community part2 conference example framework

All content copyright, 2015 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework