Shippable Continuous Integration with PHP — Laravel 5.2

Shippable -

Ship­pable is a Con­tin­u­ous Integration/Deployment Plat­form, It sup­ports almost every pop­u­lar pro­gram­ming lan­guage (node, java, php, python, ruby etc), source code providers (github, bit­buck­et, git­lab), unit-test frame­works  and noti­fi­ca­tion ser­vices (slack, hipchat, irc).

Laravel -

Lar­avel is a famous open-source PHP frame­work for web appli­ca­tions with vast com­mu­ni­ty sup­port , cut­ting edge tools like arti­san, lar­avel queues and inte­gra­tion with  most of the ser­vices.

 

Putting both things together -

Inte­grat­ing Lar­avel appli­ca­tion with ship­pable CI plat­form is quite easy, you can get it up and run­ning with­ing cou­ple of min­utes. For it you need to have shippable.yml file in root direc­to­ry of your project, and your project must be in some source code providers like github, git­lab or bit­buck­et.

Lets get start­ed with cre­at­ing shippable.yml file -

Create shippable.yml file -

This file will be used by ship­pable to con­fig­ure envi­ron­ment and get­ting your unit test cas­es run­ning. Shippable.yml file is using .env.testing file to l copy it to .env file so that lar­avel can pick­up envi­ron­ment vari­ables.

Create .testing.env file -

Running builds -

Now sign-in to shippable.com using your sources code provider (if you have oth­er than github or bit­buck­et then you can add that after sign-in (set­ting -> inte­gra­tion) ,  Go to enable project and  enable your this lar­avel project (which is hav­ing shippable.yml file), With­in a minute you will see your build run­ning with unit-test reports & code cov­er­age reports.

Build Run-

sample-build

Test Report — 

test-report

Code Cov­er­age Report — 

code-coverage

 

Sam­ple project on github -

https://github.com/vivex/shippable-laravel-5.2-sample

vivek

Web Developer & Server Admin, Skilled in Java , PHP , LAMP, Tomcat, Mongo DB & SQL. Available for freelancing project or Open Source Contribution, Feel free to contact me at contact@viveksoni.net .

You may also like...

  • ujw­al dhakal

    No any con­tain­ers required?

    • No you don‘t need any­thing else to run CI on ship­pable.

  • @disqus_TKovYTIQzc:disqus No you don‘t need any­thing else to run CI on ship­pable.

  • Jacob Henke

    Thank you for this! Made my set­up real­ly sim­ple.

    One thing that bit me was that Ship­pable is using a 5.6.x ver­sion of MySQL (as of this writ­ing) so I got a MySQL error on the newest ver­sion of Lar­avel while run­ning migra­tions. Here was the fix: https://laravel-news.com/laravel-5–4-key-too-long-error