{"id":1732,"date":"2016-01-11T00:51:27","date_gmt":"2016-01-11T00:51:27","guid":{"rendered":"https:\/\/2016.miami.wordcamp.org\/?post_type=wcb_session&#038;p=1732"},"modified":"2016-02-05T19:16:20","modified_gmt":"2016-02-05T19:16:20","slug":"practical-php-deployment-with-jenkins","status":"publish","type":"wcb_session","link":"https:\/\/miami.wordcamp.org\/2016\/session\/practical-php-deployment-with-jenkins\/","title":{"rendered":"Practical PHP Deployment with Jenkins"},"content":{"rendered":"<p>Developers would love to &#8220;automate all the things&#8221;, but where do we start? What tools exist for automating? And what can actually be automated? If we don&#8217;t have unit tests can we still benefit from deployment automation? Adam will show how a PHP application pulled from git, complete with unit tests, Composer dependency management, and package creation, can be deployed flawlessly using Jenkins. Then see how to perform automated rollbacks.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Developers would love to &#8220;automate all the things&#8221;, but where do we start? What tools exist for automating? And what can actually be automated? If we don&#8217;t have unit tests can we still benefit from deployment automation? Adam will show how a PHP application pulled from git, complete with unit tests, Composer dependency management, and [&hellip;]<\/p>\n","protected":false},"author":5796415,"featured_media":0,"template":"","meta":{"jetpack_post_was_ever_published":false,"_wcpt_session_time":1455981300,"_wcpt_session_duration":3000,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[1728],"footnotes":""},"session_track":[125740],"session_category":[],"class_list":["post-1732","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-developers-track"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6NH2Q-rW","session_date_time":{"date":"February 20, 2016","time":"3:15 pm"},"session_speakers":[{"id":"1728","slug":"adam-culp","name":"Adam Culp","link":"https:\/\/miami.wordcamp.org\/2016\/speaker\/adam-culp\/"}],"session_cats_rendered":null,"_links":{"self":[{"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/sessions\/1732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":6,"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/sessions\/1732\/revisions"}],"predecessor-version":[{"id":3231,"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/sessions\/1732\/revisions\/3231"}],"speakers":[{"embeddable":true,"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/speakers\/1728"}],"author":[{"embeddable":true,"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wporg\/v1\/users\/adamculp"}],"wp:attachment":[{"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/media?parent=1732"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/session_track?post=1732"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/miami.wordcamp.org\/2016\/wp-json\/wp\/v2\/session_category?post=1732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}