Skip to content

Instantly share code, notes, and snippets.

View quinncomendant's full-sized avatar

Quinn Comendant quinncomendant

View GitHub Profile
@quinncomendant
quinncomendant / post-receive
Last active August 2, 2025 00:43
Use this script as `deploy.git/hooks/post-receive` in a bare git repo (`git init --bare`) on a server to deploy application files with, e.g., `git push deploy-production main`.
#!/usr/bin/env bash
#
# git post-receive hook to deploy releases via git push.
#
# @see https://gist.github.com/quinncomendant/6605356f8e5db92e657902303f10aaf3
# @author Quinn Comendant <[email protected]>
# @version 2025-08-01
# Config
sitedir="/path/to/deploy/location";
@quinncomendant
quinncomendant / Capabilities to Drive Improvement.md
Created August 3, 2024 18:27
Capabilities to Drive Improvement (Appendix A from “Accelerate: The Science of Lean Software and DevOps”)

Capabilities to Drive Improvement

Appendix A from Accelerate: The Science of Lean Software and DevOps

Continuous Delivery Capabilities

  1. Use version control for all production artifacts. Version control is the use of a version control system, such as GitHub or Subversion, for all production artifacts, including application code, application configurations, system configurations, and scripts for automating build and configuration of the environment.
  2. Automate your deployment process. Deployment automation is the degree to which deployments are fully automated and do not require manual intervention.
  3. Implement continuous integration. Continuous integration (CI) is the first step towards continuous delivery. This is a development practice where code is regularly checked in, and each check-in triggers a set of quick tests to discover serious regressions, which developers fix immediately. The CI process creates canonical builds and packages th
@quinncomendant
quinncomendant / notify.sh
Created March 21, 2025 03:16
A bash script to raise a macOS notification or alert with no dependencies. Save this file as `notify` and then symlink it to `alert`.
#!/usr/bin/env bash
#
# Quinn Comendant <[email protected]>
# 11 Jul 2020 11:18:13
set -o pipefail;
set -o errexit;
set -o nounset;
set -o noclobber;