Demo Deploy Site
edit → git push → GitLab CI → server update

Welcome, new teammate

This is a deliberately simple website used to demonstrate the deployment principle: make a local change, commit it, push to the repository, and GitLab CI delivers the update to the server.

What you’ll do

  1. Change some text on this page
  2. git commit
  3. git push
  4. Watch the pipeline run
  5. Refresh the server page

What you’ll see

  • A build job creates a Docker image
  • The image is pushed to the GitLab registry
  • A deploy job pulls the image on the server
  • The running container restarts with the new version

Safe playground

There’s no backend, no database, and no secrets in the code. It’s just static HTML served by nginx in Docker.

Tip: change a sentence, push it, and point at the pipeline logs while explaining “this is how changes travel.”

Release marker
v1 (edit this to demonstrate a deploy)
Served by
nginx in Docker
Pipeline
GitLab CI

Why this exists

In real projects, deployments often feel “magical” because many steps are automated. This page is intentionally boring so you can focus on the flow.

When you push a commit, GitLab runs a pipeline defined in .gitlab-ci.yml. That pipeline builds a Docker image and (in this demo) deploys it to a server.

How the deploy works (high level)

1) Build
GitLab runner builds an nginx image with this page inside.
2) Push
The image is pushed to GitLab’s container registry.
3) Deploy
The server pulls the new image and restarts the container so nginx serves the new content.

Default buttons (for a nicer demo)

These don’t do anything—just UI elements to make the page feel “real”.

Jump to steps
Pipeline simulator
Idle
Click “Run pipeline (demo)” to simulate build → push → deploy.
Flow visualizer
local → GitLab → server
Commit
Push
Build
Registry
Deploy
Click “Run pipeline (demo)” to animate commit → push → CI → deploy.
Exercise
Change the “Release marker” value above from v1 to v2, then commit and push. Watch the pipeline and refresh the deployed site.