What is a development environment?
At Agile Collective when we talk about a development environment we mean the tools for developing the web sites (sometimes applications) we make for our clients. This includes a web server to host the development site locally on a developers computer.
Which tools do we use?
Agile Collective uses the Lando project to manage the various environments needed to easily host and develop web sites locally on a computer.
Lando is a set of commands you will use to interact with Docker containers.
Docker allows us to have containers configured for each of the tools or applications we need to host a web site. These include containers for a web server (Apache or NGINX), a database (MySQL, MariaDB etc), front end tools (gulp, node, npm etc). With these Docker containers we no longer have to install and maintain different versions of tools, like PHP, composer or node, on our host computer which simplifies and unifies our environments, in turn making them easier to use and support.
Lando makes it much easier to work with Docker as you'll only need to remember around four commands to manage your project and it allows you to run commands like drush, composer or gulp from your host environment outside of containers.
How do I install Lando?
The first thing you will need to do is install Lando on your computer. You will only need to do this once (per computer).
To install Lando on your host machine please follow the appropriate Lando documentation section for your operating system.
For MacOS users you can install the package or use homebrew to install Lando. The package method is probably slightly easier. Lando will also install Docker (the underlying technology).
Once Docker is installed it might ask you to log into docker hub. You do not need to do this and can safely ignore this step.
Depending on how you intend to use Lando and your role in the company you will want to take a look at one of the following guides.
How do I use Lando?
- Install a new Drupal 9 site on Lando - For developers starting a brand new project.
- Set up an existing site on Lando - For developers and maintainers looking to 'landoify' and existing project.
- Front end tooling set up - For developers and maintainers looking to prepare the theme for 'Landoification'.
- Using Lando - For developers, maintainers and designers looking to use Lando with an existing (already 'landoified' project.
- Front end and theming - For developers, maintainers and designers looking to understand and use the front end stack in the Lando environment