Run prettier
This commit is contained in:
parent
e4444b405a
commit
602a01f0c7
|
@ -3,10 +3,29 @@ title: Deploying PHP applications with Ansible, Ansible Vault and Ansistrano
|
||||||
url: https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano
|
url: https://www.oliverdavies.uk/talks/deploying-php-ansible-ansistrano
|
||||||
tags: [ansible, php]
|
tags: [ansible, php]
|
||||||
---
|
---
|
||||||
Great! You’ve built your website, and now you just need to deploy it. There are various ways that this could be done - from (S)FTP, to SCP and rsync, to running commands like `git pull` and `composer install` directly on the server which is not ideal.
|
|
||||||
|
|
||||||
As well provisioning and maintaining your server configuration and running commands, you can also use [Ansible](https://www.ansible.com) to deploy your PHP application - leveraging relevant Ansible modules such as Git and Composer, custom Ansible roles, [Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html) for managing secrets, and features such as idempotency out of the box to build a simple deployment playbook.
|
Great! You’ve built your website, and now you just need to deploy it. There are
|
||||||
|
various ways that this could be done - from (S)FTP, to SCP and rsync, to running
|
||||||
|
commands like `git pull` and `composer install` directly on the server which is
|
||||||
|
not ideal.
|
||||||
|
|
||||||
We can then extend that and make it more robust by adding [Ansistrano](https://ansistrano.com) - a port of [Capistrano](https://capistranorb.com) - which adds extra features such as storing multiple builds for each project and the ability to roll-back if needed, customising your build steps using built-in hooks, multi-stage environments and more.
|
As well provisioning and maintaining your server configuration and running
|
||||||
|
commands, you can also use [Ansible](https://www.ansible.com) to deploy your PHP
|
||||||
|
application - leveraging relevant Ansible modules such as Git and Composer,
|
||||||
|
custom Ansible roles,
|
||||||
|
[Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html)
|
||||||
|
for managing secrets, and features such as idempotency out of the box to build a
|
||||||
|
simple deployment playbook.
|
||||||
|
|
||||||
I've been using Ansible and Ansistrano to deploy a variety of PHP projects - including Drupal 7 & 8, Symfony, Laravel and Sculpin, as well as basic HTML websites, and found it to be very flexible and easy to install and use, and by the end of this talk we will have a fully working deployment playbook, deploying real code onto a real server.
|
We can then extend that and make it more robust by adding
|
||||||
|
[Ansistrano](https://ansistrano.com) - a port of
|
||||||
|
[Capistrano](https://capistranorb.com) - which adds extra features such as
|
||||||
|
storing multiple builds for each project and the ability to roll-back if needed,
|
||||||
|
customising your build steps using built-in hooks, multi-stage environments and
|
||||||
|
more.
|
||||||
|
|
||||||
|
I've been using Ansible and Ansistrano to deploy a variety of PHP projects -
|
||||||
|
including Drupal 7 & 8, Symfony, Laravel and Sculpin, as well as basic HTML
|
||||||
|
websites, and found it to be very flexible and easy to install and use, and by
|
||||||
|
the end of this talk we will have a fully working deployment playbook, deploying
|
||||||
|
real code onto a real server.
|
||||||
|
|
|
@ -3,10 +3,22 @@ title: Having Fun with Drupal 8, PHP libraries and the Drupal.org API
|
||||||
url: https://www.oliverdavies.uk/talks/drupal-8-php-libraries-drupalorg-api
|
url: https://www.oliverdavies.uk/talks/drupal-8-php-libraries-drupalorg-api
|
||||||
tags: [drupal, drupal-8, php, composer]
|
tags: [drupal, drupal-8, php, composer]
|
||||||
---
|
---
|
||||||
Recently whilst I was involved in rebuilding an agency website, I started looking for a way to list our supported contrib projects from Drupal.org including information such as each project’s download and star count - similar to how I’d seen on other websites for their PHP projects on GitHub.
|
|
||||||
|
|
||||||
This led me down a path of modern PHP development practices - firstly developing a separate PHP library for interacting with Drupal.org, and then writing a custom Drupal module that allowed the library to be configurable, as well as making use of Drupal’s user roles and permissions, routing and caching.
|
Recently whilst I was involved in rebuilding an agency website, I started
|
||||||
|
looking for a way to list our supported contrib projects from Drupal.org
|
||||||
|
including information such as each project’s download and star count - similar
|
||||||
|
to how I’d seen on other websites for their PHP projects on GitHub.
|
||||||
|
|
||||||
I then also found another use-case for this library, to display the Drupalversary date for a user - i.e. when they created their account on Drupal.org - and to display a message if the current day was a user's Drupalversary.
|
This led me down a path of modern PHP development practices - firstly developing
|
||||||
|
a separate PHP library for interacting with Drupal.org, and then writing a
|
||||||
|
custom Drupal module that allowed the library to be configurable, as well as
|
||||||
|
making use of Drupal’s user roles and permissions, routing and caching.
|
||||||
|
|
||||||
In this talk, I explain the approach that I took and some and the benefits of splitting code into separate packages, I'll demo the library itself before moving on to look at the code for and demo the Drupal modules that leverage it.
|
I then also found another use-case for this library, to display the
|
||||||
|
Drupalversary date for a user - i.e. when they created their account on
|
||||||
|
Drupal.org - and to display a message if the current day was a user's
|
||||||
|
Drupalversary.
|
||||||
|
|
||||||
|
In this talk, I explain the approach that I took and some and the benefits of
|
||||||
|
splitting code into separate packages, I'll demo the library itself before
|
||||||
|
moving on to look at the code for and demo the Drupal modules that leverage it.
|
||||||
|
|
|
@ -3,14 +3,18 @@ title: Taking Flight with Tailwind CSS
|
||||||
url: https://www.oliverdavies.uk/talks/taking-flight-with-tailwind-css
|
url: https://www.oliverdavies.uk/talks/taking-flight-with-tailwind-css
|
||||||
tags: [css, front-end, tailwindcss]
|
tags: [css, front-end, tailwindcss]
|
||||||
---
|
---
|
||||||
An introduction to utility class and component based styling, and how to soar with [Tailwind CSS](https://tailwindcss.com).
|
|
||||||
|
An introduction to utility class and component based styling, and how to soar
|
||||||
|
with [Tailwind CSS](https://tailwindcss.com).
|
||||||
|
|
||||||
Things we’ll cover:
|
Things we’ll cover:
|
||||||
|
|
||||||
- Advantages and disadvantages to utility based styling and Tailwind.
|
- Advantages and disadvantages to utility based styling and Tailwind.
|
||||||
- How to install Tailwind and add it to your build process using tools such as Symfony Encore and Laravel Mix.
|
- How to install Tailwind and add it to your build process using tools such as
|
||||||
|
Symfony Encore and Laravel Mix.
|
||||||
- How to configure and customise Tailwind for your project.
|
- How to configure and customise Tailwind for your project.
|
||||||
- How to promote repeating classes into re-usable components for better maintainability.
|
- How to promote repeating classes into re-usable components for better
|
||||||
|
maintainability.
|
||||||
- Strategies to control the file size, and using external tools like PurgeCSS.
|
- Strategies to control the file size, and using external tools like PurgeCSS.
|
||||||
|
|
||||||
Also, if time allows:
|
Also, if time allows:
|
||||||
|
|
|
@ -3,8 +3,21 @@ title: TDD - Test Driven Drupal
|
||||||
url: https://www.oliverdavies.uk/talks/tdd-test-driven-drupal
|
url: https://www.oliverdavies.uk/talks/tdd-test-driven-drupal
|
||||||
tags: [drupal, drupal-8, testing, php]
|
tags: [drupal, drupal-8, testing, php]
|
||||||
---
|
---
|
||||||
Testing is important. Why? It allows developers to add new features and edit and refactor existing code without the worry of adding regressions, reduces the reliance on manual testing to discover bugs, and by taking a test driven approach, your implementation code is leaner as you only write what is needed for your tests to pass.
|
|
||||||
|
|
||||||
Drupal 7 includes the SimpleTest module for unit and functional testing, whilst Drupal 8 also includes and supports PHPUnit - the defacto PHP testing framework, used by other PHP projects including Symfony and Laravel - making it easier for people to test their code. And with testing being one of the Drupal core gates with tests needing to be included with every new feature or bug fix, and core’s 100% pass rate policy, testing has become an essential skill when contributing to core, or when working on your own projects.
|
Testing is important. Why? It allows developers to add new features and edit and
|
||||||
|
refactor existing code without the worry of adding regressions, reduces the
|
||||||
|
reliance on manual testing to discover bugs, and by taking a test driven
|
||||||
|
approach, your implementation code is leaner as you only write what is needed
|
||||||
|
for your tests to pass.
|
||||||
|
|
||||||
In this talk, we’ll cover the methodology and terminology involved with automated testing, and then take a test driven approach to creating a new Drupal module.
|
Drupal 7 includes the SimpleTest module for unit and functional testing, whilst
|
||||||
|
Drupal 8 also includes and supports PHPUnit - the defacto PHP testing framework,
|
||||||
|
used by other PHP projects including Symfony and Laravel - making it easier for
|
||||||
|
people to test their code. And with testing being one of the Drupal core gates
|
||||||
|
with tests needing to be included with every new feature or bug fix, and core’s
|
||||||
|
100% pass rate policy, testing has become an essential skill when contributing
|
||||||
|
to core, or when working on your own projects.
|
||||||
|
|
||||||
|
In this talk, we’ll cover the methodology and terminology involved with
|
||||||
|
automated testing, and then take a test driven approach to creating a new Drupal
|
||||||
|
module.
|
||||||
|
|
|
@ -4,6 +4,10 @@ url: https://www.oliverdavies.uk/talks/using-illuminate-collections-outside-lara
|
||||||
type: short
|
type: short
|
||||||
tags: [php, composer, laravel]
|
tags: [php, composer, laravel]
|
||||||
---
|
---
|
||||||
Laravel's [Illuminate Collections](https://laravel.com/docs/collections) are a powerful object-orientated way of interacting with PHP arrays, but did you know that they can be used outside of Laravel, in any PHP project?
|
|
||||||
|
|
||||||
This short talk shows how we can use Composer to include Illuminate Collections within a non-Laravel project and put them to use within your own code.
|
Laravel's [Illuminate Collections](https://laravel.com/docs/collections) are a
|
||||||
|
powerful object-orientated way of interacting with PHP arrays, but did you know
|
||||||
|
that they can be used outside of Laravel, in any PHP project?
|
||||||
|
|
||||||
|
This short talk shows how we can use Composer to include Illuminate Collections
|
||||||
|
within a non-Laravel project and put them to use within your own code.
|
||||||
|
|
Loading…
Reference in a new issue