SlideShare a Scribd company logo
1 of 22
Application Deployment
With Zend Server 5.5 Beta
Kevin Schroeder
Technology Evangelist
Zend Technologies


To watch the webinar please go to:
http://www.zend.com/en/webinar/Server/70170000000bb2t-webinar-
application-deploying-with-zs-5.5-beta-20110719.flv
                                                © All rights reserved. Zend Technologies, Inc.
About Kevin




Past: Programming/Sys Admin
Current: Technology Evangelist/Author/Composer
    @kpschrade

                    © All rights reserved. Zend Technologies, Inc.
Follow us!
 Zend Technologies



 http://twitter.com/zend



 http://twitter.com/kpschrade (me!)


                      © All rights reserved. Zend Technologies, Inc.
Join us at ZendCon
The premier PHP conference!
October 17-19, 2011 – Santa Clara, CA


 Conference Themes                                                                  Conference Highlights
 Cloud Computing                                                                    •Sessions focused on how to best develop and deploy
 Learn about the latest developments in PHP Cloud
 infrastructure, management and application services                                PHP

 Mobile and User Experience                                                         •Sessions designed for all knowledge levels
 Learn how to build engaging mobile apps with the latest PHP                        •Intensive tutorials for accelerated learning
 technologies and tools
                                                                                    •PHP Certification crash courses and testing
 Enterprise and Professional PHP
 Explore PHP best practices, new technologies and practical                         •Exhibit hall showcasing the latest products
 tips with industry experts                                                         •Special networking opportunities during meals and
                                                            events
                                              www.zendcon.com
                                              © All rights reserved. Zend Technologies, Inc.
Agenda

• Application Deployment With Zend Server 5.5 beta
   Also called “What’s new in beta land!”

• Introduction
• Workflow
• Deployment Configuration
• Third Party Integration




                        © All rights reserved. Zend Technologies, Inc.
© All rights reserved. Zend Technologies, Inc.
Two methods, same end

         Zend Server                                              Zend Server


         Zend Server                                              Zend Server


         Zend Server                              Zend Server     Zend Server
                                                    Cluster
         Zend Server                               Manager        Zend Server


         Zend Server                                              Zend Server


         Zend Server                                              Zend Server



                 © All rights reserved. Zend Technologies, Inc.
Starting with the basics

• Install Zend Server 5.5 beta




                      © All rights reserved. Zend Technologies, Inc.
Workflow




                Init                Edit                               Create
  Create                                                                          Upload to
            Deployment           deployment                           package
  Project                                                                        Zend Server
             Package                .xml                              (zdpack)




                     © All rights reserved. Zend Technologies, Inc.
zdpack
  zdpack --help | [--scripts-dir=<directory>] [--lint]
  [--schema=<xsd-file>] [--src-dir=<directory>] [--output-dir=<directory>]
  [--php-exe=<php-executable>] [--package-descriptor=<xml-file>]


  zdpack pack [package-directory]


  zdpack create <application-name>


  zdpack validate [--schema=<xsd-file>] <package-xml-descriptor-file>




                             © All rights reserved. Zend Technologies, Inc.
Structure of a default deployment
data/index.php
data/LICENSE.txt
deployment.xml
scripts/post_activate.php
scripts/post_deactivate.php
scripts/post_stage.php
scripts/post_unstage.php
scripts/pre_activate.php
scripts/pre_deactivate.php
scripts/pre_stage.php
scripts/pre_unstage.php




                              © All rights reserved. Zend Technologies, Inc.
Editing the Deployment Descriptor
•   name – Name of the application
•   summary – Short summary
•   description – Long Description
•   version – Application version
•   eula – relative link to a licensing agreement
•   appdir – relative link to the main application directory
•   docroot – the public document root
•   scriptsdir – directory where the deployment scripts live
•   baseUrl – base URL of where the application will be deployed
•   dependencies – PHP-level requirements
     php
• extension – required PHP extensions
     name
• Directive – directive configuration limits
     name

                                © All rights reserved. Zend Technologies, Inc.
Creating a hook

• Predefined constants
  ZS_RUN_ONCE_NODE

  ZS_WEBSERVER_TYPE - will contain a code representing "IIS" or "APACHE“

  ZS_WEBSERVER_VERSION - will contain the web server version

  ZS_WEBSERVER_UID - will contain the web server user id

  ZS_WEBSERVER_GID - will contain the web server user group id

  ZS_PHP_VERSION - will contain the PHP version Zend Server uses

  ZS_APPLICATION_BASE_DIR - will contain the directory to which the deployed
    application is staged.
  ZS_CURRENT_APP_VERSION - will contain the version number of the application

  ZS_PREVIOUS_APP_VERSION - will contain the previous version number of the application
  ZS_* - User defined parameters
     •   db_host == ZS_DB_HOST


                                 © All rights reserved. Zend Technologies, Inc.
Demonstrating deployment




          © All rights reserved. Zend Technologies, Inc.
Scripting Deployment

• Requires use of the Zend Server API
• A wealth of unofficial tooling has sprung up around
  deployment
• http://code.google.com/p/zend-sdk/
   Eclipse plugin!
     • http://code.google.com/p/zend-sdk/wiki/ZendSdkEclipsePlugin
   CLI tooling

• http://code.google.com/p/zend-hudson-plugin/




                         © All rights reserved. Zend Technologies, Inc.
Demonstrating the Eclipse plugin




           © All rights reserved. Zend Technologies, Inc.
Zend-SDK

• Connects to Zend Server /w the Zend Server API
Valid actions are composed of a verb and an optional direct object:
 create     project         : Creates a new Zend project.
 update     project         : Updates a Zend project.
 list       targets         : Lists known deployment target environments.
 add        target          : Adds new target environment for deploying applications.
 remove     target          : Removes target from the know targets list.
 detect     target          : Detects target on localhost.
 update     target          : Updates target's parameters.
 list       applications    : Lists applications installed on target.
 deploy     application     : Deploys application to target.
 redeploy   application     : Re-deploys application on target.
 update     application     : Updates application to target.
 remove     application     : Removes application from target.
 discover   application     : discover new application from the repositories list.
 create     package         : Creates deployment package.
 add        repository      : Add repository to the discovery list.
 remove     repository      : Removes repository from the discovery list.
 list       repositories    : Show the list of repositories.
 generate   repository      : genertae a repository for a package
 help                       : shows help information.




                                © All rights reserved. Zend Technologies, Inc.
Demonstrating the SDK




           © All rights reserved. Zend Technologies, Inc.
Source Control Integration




           © All rights reserved. Zend Technologies, Inc.
Hudson/Jenkins/CI Integration
(work in progress)




                     © All rights reserved. Zend Technologies, Inc.
Questions?

                         Follow us!
 Zend Technologies



 http://twitter.com/zend



 http://twitter.com/kpschrade (me!)



                      © All rights reserved. Zend Technologies, Inc.
Webinar

To watch the webinar please go to:
http://www.zend.com/en/webinar/Server/70170000000
bb2t-webinar-application-deploying-with-zs-5.5-beta-
20110719.flv
or
http://bit.ly/neHP9n

(short registration required)




                            © All rights reserved. Zend Technologies, Inc.

More Related Content

More from Zend by Rogue Wave Software

More from Zend by Rogue Wave Software (20)

Develop microservices in php
Develop microservices in phpDevelop microservices in php
Develop microservices in php
 
Speed and security for your PHP application
Speed and security for your PHP applicationSpeed and security for your PHP application
Speed and security for your PHP application
 
Building and managing applications fast for IBM i
Building and managing applications fast for IBM iBuilding and managing applications fast for IBM i
Building and managing applications fast for IBM i
 
Building web APIs in PHP with Zend Expressive
Building web APIs in PHP with Zend ExpressiveBuilding web APIs in PHP with Zend Expressive
Building web APIs in PHP with Zend Expressive
 
To PHP 7 and beyond
To PHP 7 and beyondTo PHP 7 and beyond
To PHP 7 and beyond
 
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018) Speed up web APIs with Expressive and Swoole (PHP Day 2018)
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
 
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)The Sodium crypto library of PHP 7.2 (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
 
Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)Develop web APIs in PHP using middleware with Expressive (Code Europe)
Develop web APIs in PHP using middleware with Expressive (Code Europe)
 
Middleware web APIs in PHP 7.x
Middleware web APIs in PHP 7.xMiddleware web APIs in PHP 7.x
Middleware web APIs in PHP 7.x
 
Ongoing management of your PHP 7 application
Ongoing management of your PHP 7 applicationOngoing management of your PHP 7 application
Ongoing management of your PHP 7 application
 
Developing web APIs using middleware in PHP 7
Developing web APIs using middleware in PHP 7Developing web APIs using middleware in PHP 7
Developing web APIs using middleware in PHP 7
 
The Docker development template for PHP
The Docker development template for PHPThe Docker development template for PHP
The Docker development template for PHP
 
The most exciting features of PHP 7.1
The most exciting features of PHP 7.1The most exciting features of PHP 7.1
The most exciting features of PHP 7.1
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
The new features of PHP 7
The new features of PHP 7The new features of PHP 7
The new features of PHP 7
 
Deploying PHP apps on the cloud
Deploying PHP apps on the cloudDeploying PHP apps on the cloud
Deploying PHP apps on the cloud
 
Data is dead. Long live data!
Data is dead. Long live data! Data is dead. Long live data!
Data is dead. Long live data!
 
Optimizing performance
Optimizing performanceOptimizing performance
Optimizing performance
 
Resolving problems & high availability
Resolving problems & high availabilityResolving problems & high availability
Resolving problems & high availability
 
Developing apps faster
Developing apps fasterDeveloping apps faster
Developing apps faster
 

Recently uploaded

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Application Deploying With Zend Server 5.5 Beta

  • 1. Application Deployment With Zend Server 5.5 Beta Kevin Schroeder Technology Evangelist Zend Technologies To watch the webinar please go to: http://www.zend.com/en/webinar/Server/70170000000bb2t-webinar- application-deploying-with-zs-5.5-beta-20110719.flv © All rights reserved. Zend Technologies, Inc.
  • 2. About Kevin Past: Programming/Sys Admin Current: Technology Evangelist/Author/Composer @kpschrade © All rights reserved. Zend Technologies, Inc.
  • 3. Follow us!  Zend Technologies  http://twitter.com/zend  http://twitter.com/kpschrade (me!) © All rights reserved. Zend Technologies, Inc.
  • 4. Join us at ZendCon The premier PHP conference! October 17-19, 2011 – Santa Clara, CA Conference Themes Conference Highlights Cloud Computing •Sessions focused on how to best develop and deploy Learn about the latest developments in PHP Cloud infrastructure, management and application services PHP Mobile and User Experience •Sessions designed for all knowledge levels Learn how to build engaging mobile apps with the latest PHP •Intensive tutorials for accelerated learning technologies and tools •PHP Certification crash courses and testing Enterprise and Professional PHP Explore PHP best practices, new technologies and practical •Exhibit hall showcasing the latest products tips with industry experts •Special networking opportunities during meals and events www.zendcon.com © All rights reserved. Zend Technologies, Inc.
  • 5. Agenda • Application Deployment With Zend Server 5.5 beta  Also called “What’s new in beta land!” • Introduction • Workflow • Deployment Configuration • Third Party Integration © All rights reserved. Zend Technologies, Inc.
  • 6. © All rights reserved. Zend Technologies, Inc.
  • 7. Two methods, same end Zend Server Zend Server Zend Server Zend Server Zend Server Zend Server Zend Server Cluster Zend Server Manager Zend Server Zend Server Zend Server Zend Server Zend Server © All rights reserved. Zend Technologies, Inc.
  • 8. Starting with the basics • Install Zend Server 5.5 beta © All rights reserved. Zend Technologies, Inc.
  • 9. Workflow Init Edit Create Create Upload to Deployment deployment package Project Zend Server Package .xml (zdpack) © All rights reserved. Zend Technologies, Inc.
  • 10. zdpack zdpack --help | [--scripts-dir=<directory>] [--lint] [--schema=<xsd-file>] [--src-dir=<directory>] [--output-dir=<directory>] [--php-exe=<php-executable>] [--package-descriptor=<xml-file>] zdpack pack [package-directory] zdpack create <application-name> zdpack validate [--schema=<xsd-file>] <package-xml-descriptor-file> © All rights reserved. Zend Technologies, Inc.
  • 11. Structure of a default deployment data/index.php data/LICENSE.txt deployment.xml scripts/post_activate.php scripts/post_deactivate.php scripts/post_stage.php scripts/post_unstage.php scripts/pre_activate.php scripts/pre_deactivate.php scripts/pre_stage.php scripts/pre_unstage.php © All rights reserved. Zend Technologies, Inc.
  • 12. Editing the Deployment Descriptor • name – Name of the application • summary – Short summary • description – Long Description • version – Application version • eula – relative link to a licensing agreement • appdir – relative link to the main application directory • docroot – the public document root • scriptsdir – directory where the deployment scripts live • baseUrl – base URL of where the application will be deployed • dependencies – PHP-level requirements  php • extension – required PHP extensions  name • Directive – directive configuration limits  name © All rights reserved. Zend Technologies, Inc.
  • 13. Creating a hook • Predefined constants  ZS_RUN_ONCE_NODE  ZS_WEBSERVER_TYPE - will contain a code representing "IIS" or "APACHE“  ZS_WEBSERVER_VERSION - will contain the web server version  ZS_WEBSERVER_UID - will contain the web server user id  ZS_WEBSERVER_GID - will contain the web server user group id  ZS_PHP_VERSION - will contain the PHP version Zend Server uses  ZS_APPLICATION_BASE_DIR - will contain the directory to which the deployed application is staged.  ZS_CURRENT_APP_VERSION - will contain the version number of the application  ZS_PREVIOUS_APP_VERSION - will contain the previous version number of the application  ZS_* - User defined parameters • db_host == ZS_DB_HOST © All rights reserved. Zend Technologies, Inc.
  • 14. Demonstrating deployment © All rights reserved. Zend Technologies, Inc.
  • 15. Scripting Deployment • Requires use of the Zend Server API • A wealth of unofficial tooling has sprung up around deployment • http://code.google.com/p/zend-sdk/  Eclipse plugin! • http://code.google.com/p/zend-sdk/wiki/ZendSdkEclipsePlugin  CLI tooling • http://code.google.com/p/zend-hudson-plugin/ © All rights reserved. Zend Technologies, Inc.
  • 16. Demonstrating the Eclipse plugin © All rights reserved. Zend Technologies, Inc.
  • 17. Zend-SDK • Connects to Zend Server /w the Zend Server API Valid actions are composed of a verb and an optional direct object: create project : Creates a new Zend project. update project : Updates a Zend project. list targets : Lists known deployment target environments. add target : Adds new target environment for deploying applications. remove target : Removes target from the know targets list. detect target : Detects target on localhost. update target : Updates target's parameters. list applications : Lists applications installed on target. deploy application : Deploys application to target. redeploy application : Re-deploys application on target. update application : Updates application to target. remove application : Removes application from target. discover application : discover new application from the repositories list. create package : Creates deployment package. add repository : Add repository to the discovery list. remove repository : Removes repository from the discovery list. list repositories : Show the list of repositories. generate repository : genertae a repository for a package help : shows help information. © All rights reserved. Zend Technologies, Inc.
  • 18. Demonstrating the SDK © All rights reserved. Zend Technologies, Inc.
  • 19. Source Control Integration © All rights reserved. Zend Technologies, Inc.
  • 20. Hudson/Jenkins/CI Integration (work in progress) © All rights reserved. Zend Technologies, Inc.
  • 21. Questions? Follow us!  Zend Technologies  http://twitter.com/zend  http://twitter.com/kpschrade (me!) © All rights reserved. Zend Technologies, Inc.
  • 22. Webinar To watch the webinar please go to: http://www.zend.com/en/webinar/Server/70170000000 bb2t-webinar-application-deploying-with-zs-5.5-beta- 20110719.flv or http://bit.ly/neHP9n (short registration required) © All rights reserved. Zend Technologies, Inc.