SlideShare a Scribd company logo
Git Watch
Minimalist Continuous Deployment
https://git.watch/ by @ScalaWilliam
1
Google Slides comments welcome!
Typical automated deploy: polling
- Eventual, not immediate
+ Very easy to do Git Repo Polling service
2
Better automated deploy: webhooks
Git Repo HTTP server
- Requires a public facing server
+ Immediate
Hook handler
3
Middle ground: Git Watch
Git Repo Git Watch Server
+ Needs only an internet connection
+ Immediate
Git Watch Client
4
● Get immediate feedback
● Continuously reduce technical debt
● Enforces good application design
○ Frequent deploys demand better failover strategies
○ Frequent deploys demand a better pipeline
● Shorter testing cycles
● Easy hotfixes
Continuous Deployment
5
Use case: GitHub repository → Firebase Hosting
● Static content.
● Generate HTML
● Dynamic language (PHP) for dev.
● No CI, only sanity checks.
● Deploy in < 20 seconds.
● Can edit in GitHub for small fixes
● Edit locally for bigger tasks.
● Example:
github.com/ScalaWilliam/milanohousecurt
ains.co.uk
● Example:
github.com/ScalaWilliam/ScalaWilliam.co
m
● Great for teams, nobody responsible for
deploys!
6
Use case: GitHub repository → local static deploy
● Want to make content-only changes to an
app
● Don’t want to rebuild & redeploy whole
app
● <5 seconds from master to deployed.
● Used in git.watch itself.
7
Use case: GitHub repository → Play/Scala deploy.
● Run tests before commit
● In Scala, errors caught at compile time
● Failed compilation ⇒ No deploy
● Deploys in ~30s
● Using in
○ https://git.watch itself
○ https://actionfps.com/
8
Use case: GitHub → dynamic PHP deploy
● Used this previously, but ended up moving
to:
○ Scala dynamic apps for apps
○ Firebase Hosting for websites
● However, not everyone has the patience in
learning Scala - took me 3 months just to
get comfortable
● Lets you do a sanity check before a
deploy.
● Simply rsync on push to master!
9
Cheers!
https://git.watch/
github.com/ScalaWilliam/git-watch
@ScalaWilliam
10

More Related Content

PPTX
GitLab 8.6 - Release Webcast
PDF
What's New for GitLab CI/CD February 2020
PDF
What's New in GitLab and Software Development Trends
PDF
Introducing GitLab
PDF
Introducing GitLab (September 2018)
PDF
Introducing GitLab (June 2018)
PPTX
Git & GitLab
PPTX
Up GitLab Presentation 2015
GitLab 8.6 - Release Webcast
What's New for GitLab CI/CD February 2020
What's New in GitLab and Software Development Trends
Introducing GitLab
Introducing GitLab (September 2018)
Introducing GitLab (June 2018)
Git & GitLab
Up GitLab Presentation 2015

What's hot (20)

PDF
GitLab webcast - Release 8.4
PDF
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyer
PDF
Introducing GitLab (September 2018)
PPTX
Bringing Pull Request to Gerrit
PPTX
Gitlab CI/CD
PDF
GitLab Frontend and VueJS at GitLab
PPT
Flex and .NET Integration
PDF
Git for Beginners
PPTX
Zero-Downtime Gerrit Code Review Upgrade
PPTX
GitLab 8.5 Highlights and Step-by-step tutorial
PPTX
Git Going w/ Git
PDF
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
PPTX
Git Lab Introduction
PDF
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
PDF
How to use any static site generator with GitLab Pages.
PDF
Dev objective2015 lets git together
PPTX
Gerrit jenkins-big data-continuous-delivery
ODP
Git Workshop
PPTX
Git n git hub
PPTX
Gerrit Code Review Analytics
GitLab webcast - Release 8.4
Case Study: Migration to GitLab (from Bitbucket) at AppsFlyer
Introducing GitLab (September 2018)
Bringing Pull Request to Gerrit
Gitlab CI/CD
GitLab Frontend and VueJS at GitLab
Flex and .NET Integration
Git for Beginners
Zero-Downtime Gerrit Code Review Upgrade
GitLab 8.5 Highlights and Step-by-step tutorial
Git Going w/ Git
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
Git Lab Introduction
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
How to use any static site generator with GitLab Pages.
Dev objective2015 lets git together
Gerrit jenkins-big data-continuous-delivery
Git Workshop
Git n git hub
Gerrit Code Review Analytics
Ad

Similar to Git Watch (20)

PDF
Deployment made easy with Git
PDF
Integrating continuous integration and deployment with GitHub’s API
PDF
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
PDF
Intro to Git, GitHub, and Devpost
PPTX
Hot to build continuously processing for 24/7 real-time data streaming platform?
PDF
Demystifying GitHub Actions - Harnessing the power of automation to streamlin...
PDF
GitBucket: Git Centric Software Development Platform by Scala
PDF
Exploring the GitHub Service Universe
PDF
GIT_GITHUB_2016_06_17
PDF
What we talk about when we talk about DevOps
PDF
Promise of DevOps
PPTX
OSB15
PDF
Building software by feature with immutable infrastructures on AWS
PPTX
How We Learned To Stop Worrying And Love (or at least live with) GitHub
PDF
DevOps Service | Mindtree
PDF
Evolution of deploy.sh
PDF
CICD_1670665418.pdf
PDF
Zero to hero - Geoff Webb
PPTX
Network Config Backups - Netbox, Github, Ansible
Deployment made easy with Git
Integrating continuous integration and deployment with GitHub’s API
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Intro to Git, GitHub, and Devpost
Hot to build continuously processing for 24/7 real-time data streaming platform?
Demystifying GitHub Actions - Harnessing the power of automation to streamlin...
GitBucket: Git Centric Software Development Platform by Scala
Exploring the GitHub Service Universe
GIT_GITHUB_2016_06_17
What we talk about when we talk about DevOps
Promise of DevOps
OSB15
Building software by feature with immutable infrastructures on AWS
How We Learned To Stop Worrying And Love (or at least live with) GitHub
DevOps Service | Mindtree
Evolution of deploy.sh
CICD_1670665418.pdf
Zero to hero - Geoff Webb
Network Config Backups - Netbox, Github, Ansible
Ad

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
A Presentation on Artificial Intelligence
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
cuic standard and advanced reporting.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Modernizing your data center with Dell and AMD
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
A Presentation on Artificial Intelligence
MYSQL Presentation for SQL database connectivity
Agricultural_Statistics_at_a_Glance_2022_0.pdf
The AUB Centre for AI in Media Proposal.docx
“AI and Expert System Decision Support & Business Intelligence Systems”
The Rise and Fall of 3GPP – Time for a Sabbatical?
Unlocking AI with Model Context Protocol (MCP)
cuic standard and advanced reporting.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Empathic Computing: Creating Shared Understanding
NewMind AI Weekly Chronicles - August'25 Week I
Per capita expenditure prediction using model stacking based on satellite ima...
Modernizing your data center with Dell and AMD
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
KodekX | Application Modernization Development

Git Watch

  • 1. Git Watch Minimalist Continuous Deployment https://git.watch/ by @ScalaWilliam 1 Google Slides comments welcome!
  • 2. Typical automated deploy: polling - Eventual, not immediate + Very easy to do Git Repo Polling service 2
  • 3. Better automated deploy: webhooks Git Repo HTTP server - Requires a public facing server + Immediate Hook handler 3
  • 4. Middle ground: Git Watch Git Repo Git Watch Server + Needs only an internet connection + Immediate Git Watch Client 4
  • 5. ● Get immediate feedback ● Continuously reduce technical debt ● Enforces good application design ○ Frequent deploys demand better failover strategies ○ Frequent deploys demand a better pipeline ● Shorter testing cycles ● Easy hotfixes Continuous Deployment 5
  • 6. Use case: GitHub repository → Firebase Hosting ● Static content. ● Generate HTML ● Dynamic language (PHP) for dev. ● No CI, only sanity checks. ● Deploy in < 20 seconds. ● Can edit in GitHub for small fixes ● Edit locally for bigger tasks. ● Example: github.com/ScalaWilliam/milanohousecurt ains.co.uk ● Example: github.com/ScalaWilliam/ScalaWilliam.co m ● Great for teams, nobody responsible for deploys! 6
  • 7. Use case: GitHub repository → local static deploy ● Want to make content-only changes to an app ● Don’t want to rebuild & redeploy whole app ● <5 seconds from master to deployed. ● Used in git.watch itself. 7
  • 8. Use case: GitHub repository → Play/Scala deploy. ● Run tests before commit ● In Scala, errors caught at compile time ● Failed compilation ⇒ No deploy ● Deploys in ~30s ● Using in ○ https://git.watch itself ○ https://actionfps.com/ 8
  • 9. Use case: GitHub → dynamic PHP deploy ● Used this previously, but ended up moving to: ○ Scala dynamic apps for apps ○ Firebase Hosting for websites ● However, not everyone has the patience in learning Scala - took me 3 months just to get comfortable ● Lets you do a sanity check before a deploy. ● Simply rsync on push to master! 9