Feels good to finally relaunch my website, especially since it’s been offline longer than originally planned. A mild shift in look-and-feel, and now I’ve added a blog to my site. But you already know this, of course, because you’re now reading my very first post on this new blog. Thank you, BTW!
Trellis is an environmental stack for building and maintaining development servers (local) as well as production and staging servers (remote):
- Localhost development on a Vagrant VM that hosts all the same components used on your actual Production server (as long as your Production server is also built with Trellis, which is about as easy as building the localhost environment, so this should absolutely be the case)
- Ansible configuration management for complete and stable provisions that are entirely free of endless manual setup steps or the fragile scripts we often resort to for relief from such complications
- Modern LEMP stack: Linux (Ubuntu), Nginx, MariaDB, and PHP
- Encrypted service and component passwords
- Composer is used for pulling in public repo plugins as well as WordPress itself (I also use Composer to pull in premium plugins from my own SatisPress server, which is not part of Trellis in any way, but works beautifully with Composer, so I have no third party plugins of any kind committed to Git)
- Fetch code from Git without any extra hacks to get local repos to work with your development environment or remote servers (and it plays nicely with GitHub, BitBucket, and others)
- Atomic deployments (zero downtime) that create complete codebase release folders and automatically symlink them to web server “current” (the folder representing the current release)
- WP-CLI (’nuff said)
- SSH access to local and remote assets (SSH agent forwarding used in the latter case for Trellis-managed repo connections)
- Optional microcaching (imagine dumping fussy caching plugins in favor of a simple system that provides predictable cache life, and skips touchy invalidation behaviors with smart exclusions)
- Extend Trellis to create any number of additional server types as needed to accommodate your SDLC and other related processes (QA, training, etc)
This approach to development is a huge leap forward and upward when compared to the likes of XAMPP and MAMP and other localhost methodologies that do nothing to promote parity between local and remote environments, lack versioning tools or workflows, or do anything at all to drive remote host configuration with true best practices in mind. It’s even a significant step up from DesktopServer, which I still use and recommend for certain projects (no environmental parity guarantees, but a nice toolset that is very useful in a wide variety of circumstances).
But as thrilled as I am with my new tools, I’m at least as thrilled to be back to writing. It’s been a while and I miss it, so it’s time to get back to this particular fun.
I’ll be sharing WordPress and related topics on a semi-regular basis. And a little about life, family, chocolate, and beer (maybe a little more about the former two, rather than the latter, since all I ever really do with chocolate and beer is use as directed on the package).
More about these and other topics in upcoming articles. In the meantime, I’m going to reduce the size of my browser window until the tablet or mobile width kicks in, so I can play with my new off-canvas nav (hint).