Atomic Deployment for JS Hipsters - m4dz, DevOps.js Conference 2024

Deno or Node.js can be used as a build system for atomic deployment, ensuring immutable deployment through hard links and bash scripts, with automated retrieval and versioning using webhooks, commit messages, and Git hooks.

Key takeaways
  • Deno or Node.js can be used as a build system for atomic deployment.
  • Webhooks can be used to automate the retrieving process in the deploy server branch.
  • Commit messages can include a “update_name” commit specifying the version number.
  • Atomic deployment involves two versions of an application being deployed, with the old version being replaced by the new version.
  • Immutable deployments are ensured by using hard links instead of symbolic links.
  • The git revlist command can be used to retrieve a list of commits.
  • Unix hard links can be used to create a working tree in a detached state.
  • Bash scripts can be used to automate deployment tasks.
  • The git config command can be used to store configuration settings.
  • Git hooks can be used to react to events occurring in the life cycle of a repository.
  • Atomic deployment can be achieved by using a combination of Git hooks, hard links, and bash scripts.