Removing just the dev package with #ansible #provisioning had no effect in local env, but combined with the apt purge in the #packer script, uninstalled mysqlclient

permalink

I recently started cleaning up after myself during #provisioning. There are two steps to this: #ansible uninstalls build deps and #packer executes a cleanup script that does an apt purge and autoremove

permalink

I completed removing build artifacts from source control. Static assets dist and document-root dirs: replaced with running #webpack on host. Third-party #ansible roles: installed from galaxy via #packer and #vagrant at provision time. #win

permalink

when reading from stdin, ansible-vault encrypt_string does not trim trailing newlines, forcing one to use echo -n. #ansible knows this is a sharp edge and documents it, but they should do the right thing and make it consistent with password files #fail

permalink

6. addendum: since I already had a deploy script, it was straightforward to translate it to #ansible tasks

permalink

6. problem: bespoke deployment steps. deploy and cron run as lopopolo. deploy needs sudo password. solution: #ansible deploy_helper module

permalink

5. problem: environment names are inconsistent across tooling and deployment. solution: hyperbola_environment #ansible variable which parameterizes everything

permalink

3. problem: manual, bespoke server configuration. solution: #ansible, #vagrant, #packer, prebaked AMIs. immutable infrastructure

permalink

The migration from a bespoke-bootstrapped, manual (scripted) deploy process to an #ansible playbook took about 20 commits. I deployed to a local #vagrant box first

permalink