Top Banner
Udržitelnost WordPress webu Petr Hlavička hlavicka.cz
58

Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Jun 04, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Udržitelnost WordPress webu

Petr Hlavička

hlavicka.cz

Page 2: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Obsah

• Prémiové šablony a pluginy

• Struktura

• Nástroje

• Verzování

• Deployment

• Testování

• DokumentacePetr Hlavička: Udržitelnost WordPress webu 2/58

Page 3: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly
Page 4: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Co pro mě znamená, že je projekt udržitelný?

Petr Hlavička: Udržitelnost WordPress webu - Úvod 4/58

Page 5: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Cíl přednášky.

Petr Hlavička: Udržitelnost WordPress webu - Úvod 5/58

Page 6: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Proč je dobré tu udržitelnost řešit?

Petr Hlavička: Udržitelnost WordPress webu - Úvod 6/58

Page 7: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Myslet dopředu.

Petr Hlavička: Udržitelnost WordPress webu - Úvod 7/58

Page 8: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Jaké problémy vidím s premiovými šablonami?

• aktualizace

• co maj "pod kapotou"?

• uzamčení obsahu (theme/plugin lock-in)

Petr Hlavička: Udržitelnost WordPress webu - Prémiové šablony a pluginy 8/58

Page 9: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Nad čím se zamyslet při výběru pluginu?

• Opravdu je potřeba?

• Jak kri4cký bude pro web?

• Jaká je podpora? Vývoj?

• Je bezpečný? (WPScan Vulnerability Database)

Petr Hlavička: Udržitelnost WordPress webu - Prémiové šablony a pluginy 9/58

Page 10: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Shrnu&

• Nemáte kontrolu nad vývojem šablony / pluginu.

• ⤵ závislos= ⤴ kontrola ➡ udržitelnější.

• ⤵ závislos= ⤴ čas ➡ dražší.

Petr Hlavička: Udržitelnost WordPress webu - Prémiové šablony a pluginy 10/58

Page 11: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Webové frameworky

• Struktura

• Nástroje

• Verzování

• Deployment (CI/CD)

• Testování

• Dokumentace

Petr Hlavička: Udržitelnost WordPress webu - Webové frameworky 11/58

Page 12: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Struktura WordPressusite/├── index.php├── license.txt├── readme.html├── wp-activate.php├── wp-admin/├── wp-blog-header.php├── wp-comments-post.php├── wp-config.php├── wp-config-sample.php├── wp-content/│ ├── themes/│ ├── languages/│ └── plugins/├── wp-cron.php├── wp-includes/├── wp-links-opml.php├── wp-load.php├── wp-login.php├── wp-mail.php├── wp-settings.php├── wp-signup.php├── wp-trackback.php└── xmlrpc.php

Petr Hlavička: Udržitelnost WordPress webu - Struktura 12/58

Page 13: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Struktura WordPressusite/├── index.php├── license.txt├── readme.html├── wp-activate.php├── wp-admin/├── wp-blog-header.php├── wp-comments-post.php├── wp-config.php├── wp-config-sample.php├── wp-content/│ ├── themes/│ ├── languages/│ └── plugins/├── wp-cron.php├── wp-includes/├── wp-links-opml.php├── wp-load.php├── wp-login.php├── wp-mail.php├── wp-settings.php├── wp-signup.php├── wp-trackback.php└── xmlrpc.php

Petr Hlavička: Udržitelnost WordPress webu - Struktura 13/58

Page 14: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Struktura WordPress šablony

Petr Hlavička: Udržitelnost WordPress webu - Struktura 14/58

Page 15: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Struktura WordPress šablony

Proč to řešit?

• Povinné soubory šablony:

• index.php

• style.css

Petr Hlavička: Udržitelnost WordPress webu - Struktura 15/58

Page 16: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Struktura WordPress šablony

Jaké máme možnos-?

• Oficiální (doporučená)1

• Použi7 WordPress frameworku

• Vlastní

1 Organizing Theme Files | WordPress Developer Resources

Petr Hlavička: Udržitelnost WordPress webu - Struktura 16/58

Page 17: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Oficiální (doporučená)theme/├── 404.php├── archive.php├── assets/├── comments.php├── footer.php├── front-page.php├── functions.php├── header.php├── inc/├── index.php├── page.php├── README.txt├── rtl.css├── screenshot.png├── search.php├── searchform.php├── sidebar.php├── single.php├── style.css└── template-parts/

Petr Hlavička: Udržitelnost WordPress webu - Struktura 17/58

Page 18: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Oficiální (doporučená)theme/├── 404.php├── archive.php├── assets/├── comments.php├── footer.php├── front-page.php├── functions.php├── header.php├── inc/├── index.php├── page.php├── README.txt├── rtl.css├── screenshot.png├── search.php├── searchform.php├── sidebar.php├── single.php├── style.css└── template-parts/

Petr Hlavička: Udržitelnost WordPress webu - Struktura 18/58

Page 19: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Použi& WordPress frameworku

• Usnadnění vývoje.

• Možný odklon od standardního vývoje šablon.

• Další závislost v projektu.

• Hotová dokumentace.

Petr Hlavička: Udržitelnost WordPress webu - Struktura 19/58

Page 20: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Ukázka struktury Asselytheme/├── app├── bootstrap├── composer.json├── composer.lock├── config├── functions.php├── gulpfile.js├── index.php├── package.json├── public├── README.md├── resources├── screenshot.png├── storage├── style.css└── vendor

Petr Hlavička: Udržitelnost WordPress webu - Struktura 20/58

Page 21: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Ukázka struktury Asselytheme/├── app├── bootstrap├── composer.json├── composer.lock├── config├── functions.php├── gulpfile.js├── index.php├── package.json├── public├── README.md├── resources├── screenshot.png├── storage├── style.css└── vendor

Petr Hlavička: Udržitelnost WordPress webu - Struktura 21/58

Page 22: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Použi& WordPress frameworku

Doporučení

• Druh implementace.

• Zvážit omezení, které mají.

• Vývoj a podpora frameworku.

• Vyzkoušet!

Petr Hlavička: Udržitelnost WordPress webu - Struktura 22/58

Page 23: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Nelíbí se ani jedna z variant?

23/58

Page 24: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Vlastní strukturaDoporučení

• Samostatný git repozitář.

• S dokumentací.

• Nechte se inspirovat.

• Myslet dopředu.

Petr Hlavička: Udržitelnost WordPress webu - Struktura 24/58

Page 25: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Struktura WordPress pluginu

• Princip stejný jako u šablon.

• Kde se inspirovat:

• WordPress Plugin Boilerplate a s =m spojený Plugin Directory Boilerplate.

• Frameworky: WordPress Plugin Framework, Herbert, WordPress Plugin Template.

Petr Hlavička: Udržitelnost WordPress webu - Struktura 25/58

Page 26: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Struktura souborů je pouze základ

• Standardizovat si kód

• Vlastní standardy

• Cizí standardy např. WordPress Coding Standards + kontrola (WordPress Coding Standards for PHP_CodeSniffer)

• Standardizovat si nastavení editoru

• Soubor .editorconfig (editorconfig.org)

Petr Hlavička: Udržitelnost WordPress webu - Struktura 26/58

Page 27: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Je vhodné předem informovat klienta o nestandardních komponentách

projektu.

Petr Hlavička: Udržitelnost WordPress webu - Struktura 27/58

Page 28: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Nástroje

• WP-CLI

• GenerateWP

• Plugin Developer + jim doporučené pluginy

• Případné nástroje frameworků.

Petr Hlavička: Udržitelnost WordPress webu - Nástroje 28/58

Page 29: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Lokální vývojové prostředí• přímo

• hotové řešení

• WPLib Box, Local (bývalý Pressma>c) či Trellis pro Bedrock.

• Vagrant

• VCCW

• Docker

• Local WordPress Development with Docker: 3 Easy Steps & Using wp-cli with Docker

Petr Hlavička: Udržitelnost WordPress webu - Nástroje 29/58

Page 30: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Offline dokumentace

• Dash - macOS, iOS

• Zeal - Windows, Linux

• Velocity - Windows

Petr Hlavička: Udržitelnost WordPress webu - Nástroje 30/58

Page 31: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Verzování

• Nic 2x

• Jen svoji práci

• Vše kri5cké

Petr Hlavička: Udržitelnost WordPress webu - Verzování 31/58

Page 32: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Jaké jsou možnos-?

• Git submoduly

• Composer

• VersionPress

Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58

Page 33: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Git submoduly

• Propojování git repositářů.

• WordPress na GitHub

• WP Plugins na GitHub

Petr Hlavička: Udržitelnost WordPress webu - Verzování 33/58

Page 34: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Git submoduly

Ukázka strukturysite/├── index.php├── wp-config.php├── wp-content/│ ├── plugins/│ │ └── wordpress-seo/ # Plugin jako submodul│ └── themes/│ └── theme/ # Vlastní šablona├── wp-cli.yml # Info pro WP-CLI, kde je WP└── wp/ # WordPress jako submodul

Petr Hlavička: Udržitelnost WordPress webu - Verzování 34/58

Page 35: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Git submoduly

Co se výsledně verzujesite/├── index.php├── wp-config.php├── wp-content/│ ├── plugins/│ │ └── wordpress-seo/ # Plugin jako submodul│ └── themes/│ └── theme/ # Vlastní šablona├── wp-cli.yml # Info pro WP-CLI, kde je WP└── wp/ # WordPress jako submodul

Petr Hlavička: Udržitelnost WordPress webu - Verzování 35/58

Page 36: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Git submoduly

Výhody

• Jen důležité.

• Verze WP a pluginů.

• Žádný další nástroj.

• Jednoduchý deployment pomocí Git-Ep.

Petr Hlavička: Udržitelnost WordPress webu - Verzování 36/58

Page 37: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Git submoduly

Nevýhody

• Náročnější správa verzí WP a pluginů.

• Nelze aktualizovat pluginy a ani WP z admina či WP-CLI.

• Klade vyšší nároky na znalost gitu.

Petr Hlavička: Udržitelnost WordPress webu - Verzování 37/58

Page 38: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Composer

• Balíčkovací systém pro PHP.

• Možné díky WordPress Packagist - WordPress sám

o sobě nepodporuje Composer2.

• Využívá např. Bedrock, WP Starter a další.

2 #23912 (Add Composer package descrip6on) – WordPress Trac

Petr Hlavička: Udržitelnost WordPress webu - Verzování 38/58

Page 39: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Composer

Ukázka: instalace Bedrocku

1. composer create-project roots/bedrock

2. Nastavení DB, WP Salt a další v souboru .env.

3. Hotovo.

Petr Hlavička: Udržitelnost WordPress webu - Verzování 39/58

Page 40: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Composer

Práce s Composerem

• Instalace pluginu: composer require wpackagist-plugin/wordpress-seo

• Aktualizace WP a pluginů: composer update

Petr Hlavička: Udržitelnost WordPress webu - Verzování 40/58

Page 41: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Ukázka struktury Bedrockusite/├── config/│ ├── environments/│ │ ├── development.php│ │ ├── staging.php│ │ └── production.php│ └── application.php # Primary wp-config.php├── vendor/ # Composer dependencies└── web/ # Virtual host document root ├── app/ # WordPress content directory │ ├── mu-plugins/ │ ├── plugins/ │ ├── themes/ │ └── uploads/ └── wp/ # WordPress core

Petr Hlavička: Udržitelnost WordPress webu - Verzování 41/58

Page 42: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Composer

Výhody

• composer.json

Petr Hlavička: Udržitelnost WordPress webu - Verzování 42/58

Page 43: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Composer

Nevýhody

• Nutný deployment.

• Vyšší požadavky na hos9ng.

• Nelze aktualizovat pluginy a ani WP z admina či WP-CLI.

Petr Hlavička: Udržitelnost WordPress webu - Verzování 43/58

Page 44: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

VersionPress

• Trochu jiné verzování, než předchozí varianty.

• Stále ve vývoji.

Petr Hlavička: Udržitelnost WordPress webu - Verzování 44/58

Page 45: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Další možnost.gitignore3

• Zakázání verzování všeho kromě vlastní šablony a

podpůrných souborů.

• Neverzuje se verze WP a pluginů.

• WP-CLI, aktualizace přímo, jednoduchý

deployment.

3 WordPress .gi-gnore

Petr Hlavička: Udržitelnost WordPress webu - Verzování 45/58

Page 46: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Zamyšlení: WP-CLI pro správu verzí WP a pluginů?

• wp-cli.json

• wp plugin install wordpress-seo, wp plugin update --all, wp core update, ...

• nové příkazy wp install, wp update

• tak kdyby se někdo nudil...

!

Petr Hlavička: Udržitelnost WordPress webu - Verzování 46/58

Page 47: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Možnos& verzování databáze

• DBV - webové rozhraní, umí vytvářet migrace

• MMP - CLI, umí vytvářet migrace

• DBVC - CLI, neumí vytvářet migrace

• VersionPress - pro podporované pluginy

Petr Hlavička: Udržitelnost WordPress webu - Verzování 47/58

Page 48: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Deployment

• Development -> Staging -> Produc7on.

• Součást CI4/CD5.

• Automa7cky.

5 Con&nuous delivery

4 Con&nuous integra&on

Petr Hlavička: Udržitelnost WordPress webu - Deployment 48/58

Page 49: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Deployment

Jak si vybrat?

• Dle požadavků

• Dle rozpočtu

• Dle preferencí

Petr Hlavička: Udržitelnost WordPress webu - Deployment 49/58

Page 50: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Deployment

Obecné požadavky

• Specifickou strukturu (pro služby nebo nástroje pro WP)

• Repositáře na GitLab/GitHub (pro automaBcký deploy)

• FTP nebo nejlépe VPS

Petr Hlavička: Udržitelnost WordPress webu - Deployment 50/58

Page 51: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Deployment: Nástroje

• Jednoduché (nízkonákladové):

• Git-:p - development -> produc?on

• Git na hos?ngu (některé sdílené mají podporu gitu) - vlastní řešení (git pull) nebo VersionPress plugin

• Nástroje pro WP (nutný SSH přístup a další u?lity na straně serveru):

• wp-deploy - Capistrano

• Evolu?on WordPress - Vagrant, Ansible, Capistrano

• WP Stack - Capistrano

• Wordmove - Ruby Gem pro development <=> produc?on

• DebOps for WordPress - Python, Ansible, DebOps

• bedrock-capistrano - Capistrano pro Bedrock

• Trellis - Vagrant, Ansible pro Bedrock

Petr Hlavička: Udržitelnost WordPress webu - Deployment 51/58

Page 52: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Deployment: Služby

• Univerzální služby:

• DeployBot

• DeployHQ

• WP služby:

• Pantheon

• WP Engine

• VersionPress.com

• Presslabs, GiFum

• Flywheel

Petr Hlavička: Udržitelnost WordPress webu - Deployment 52/58

Page 53: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Deployment: Zajímavé

• Deploy pouze šablony či pluginu

• WP Pusher

• GitHub Updater

Petr Hlavička: Udržitelnost WordPress webu - Deployment 53/58

Page 54: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Testování• Plugin Unit Tests - PHPUnit, WP-CLI

• Codecep9on pro WP - přes Composer, Integra9on Tests, WordPress Func9onal Tests, Acceptance Tests, BDD

• Zajímavé odkazy:

• WP Test - kolekce dat pro testování WP

• Unit Tes9ng WordPress Plugins with PHPUnit

• Introduc9on to WordPress Unit Tes9ng

Petr Hlavička: Udržitelnost WordPress webu - Testování 54/58

Page 55: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Dokumentace

• Rychlejší orientace v projektu.

• Stručně. Jasně.

• Wiki u GitLab/GitHub.

• Dokumentovat i kód (PHP DocumentaHon Standards).

Petr Hlavička: Udržitelnost WordPress webu - Dokumentace 55/58

Page 56: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Shrnu&

Petr Hlavička: Udržitelnost WordPress webu 56/58

Page 57: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Dotazy?

Petr Hlavička: Udržitelnost WordPress webu 57/58

Page 58: Udržitelnost WordPress webu - WordCamp Praha 24.2.2018 · • Git submoduly • Composer • VersionPress Petr Hlavička: Udržitelnost WordPress webu - Verzování 32/58. Git submoduly

Prezentace bude dostupná na GitHubu. Sledujte @WordCampPraha na Twi?eru.

Děkuji za pozornost.

Petr Hlavička

hlavicka.cz

Petr Hlavička: Udržitelnost WordPress webu 58/58