GitLearn — Deploy
GitLearn
⟳ Flow
15px

🚀 Deploying GitLearn

This site is four plain HTML files — no build step, no server required. Pick the option that matches your setup and follow the steps.

Before You Deploy — What to Include

Only these four files need to be on the web server. Everything else is development tooling.

✓ index.html # main guide ✓ examples.html # real-world examples ✓ comparisons.html # command comparisons ✓ gitlab.html # GitLab platform guide ✓ deploy.html # this page (optional) ✗ .claude/ # Claude Code internal files ✗ .agents/ # agent config files ✗ examples/ # markdown source files (content already in examples.html) ✗ docs/ # planning documents ✗ CLAUDE.md # Claude instructions ✗ LEARNING_PATH.md # planning doc ✗ skills-lock.json # skills config
⚠️
Tailwind CSS loads from a public CDN. All four pages use <script src="https://cdn.tailwindcss.com">. If employees are on a network that blocks external URLs, styles will not load. Test this on your company network before announcing the tool.
🐙
GitHub Pages
Free · No config needed · Live in 2 minutes
Easiest

The repo is already on GitHub. Enabling Pages takes one click — GitHub serves the HTML files directly from the repo.

1
Go to github.com/PankitPanchal/learnGit → click the Settings tab.
2
In the left sidebar click Pages.
3
Under Build and deployment → Source, select Deploy from a branch.
4
Set Branch to main and folder to / (root). Click Save.
5
Wait ~60 seconds. Refresh the page — GitHub shows your live URL:
https://pankitpanchal.github.io/learnGit/
From now on, every git push to main automatically updates the live site within ~30 seconds. No extra steps needed.
⚠️
GitHub Pages on a public repo is publicly accessible. Anyone with the URL can read the site. For an internal company tool, either make the repo private (requires a paid GitHub plan for Pages) or use GitLab Pages or IIS instead.
🦊
GitLab Pages
Best for internal company tool · Auto-deploys on push · Access control built in
Recommended for internal use

Since your team already uses GitLab, this is the cleanest option for an internal tool. Push the repo to your company GitLab instance, add one CI file, and GitLab serves the site automatically. Access can be restricted to company employees only.

1
Create a new project on your company GitLab — e.g., gitlab.company.com/team/gitlearn.
2
Add the GitLab remote to your local repo:
git remote add gitlab git@gitlab.company.com:team/gitlearn.git
git push gitlab main
3
Create a .gitlab-ci.yml file in the root of the repo with the following content. This tells GitLab CI to publish the HTML files as a website:
pages:
  stage: deploy
  script:
    - mkdir public
    - cp index.html examples.html comparisons.html gitlab.html deploy.html public/
  artifacts:
    paths:
      - public
  only:
    - main
4
Commit and push the CI file:
git add .gitlab-ci.yml
git commit -m "chore: add GitLab Pages deployment"
git push gitlab main
5
Watch the pipeline run: CI/CD → Pipelines. When it goes green, your site is live at:
https://team.gitlab.company.com/gitlearn/
(The exact URL is shown under Settings → Pages after the first deploy.)
6
Restrict access to company employees only: go to Settings → General → Visibility and set the project to Internal (visible to all logged-in GitLab users) or Private (only project members). Under Settings → Pages, set Access Control to require authentication.
Once set up, every push to main re-runs the pipeline and updates the live site automatically. No manual steps needed when you add new content.
☁️
Azure Static Web Apps
Free tier · Custom domain · Auto-deploys from GitHub
Free tier

If your company already uses Azure, this is a natural fit. Azure Static Web Apps has a generous free tier and deploys automatically from your GitHub repo via GitHub Actions.

1
Go to the Azure Portal → search for Static Web Apps → click Create.
2
Fill in the basics:
  • Subscription / Resource Group — use your company's group
  • Name — e.g., gitlearn
  • Plan — Free
  • Region — closest to your team
3
Under Deployment details, choose GitHub. Authorise Azure to access your GitHub account, then select:
  • Organisation: PankitPanchal
  • Repository: learnGit
  • Branch: main
4
Under Build Details, set:
  • Build Preset: Custom
  • App location: /
  • Output location: /
  • Leave API location empty
5
Click Review + CreateCreate. Azure adds a GitHub Actions workflow file to your repo automatically and kicks off the first deploy.
6
Once deployed, Azure gives you a URL like https://random-name.azurestaticapps.net. You can add a custom domain (e.g., gitlearn.company.com) under Custom Domains in the Azure resource.
💡
To restrict access to company employees only, use Azure Active Directory authentication under Settings → Authentication in your Static Web App resource. Only users in your company's AAD tenant will be able to open the site.
🖥️
IIS / Internal Web Server
No internet needed · Fully private · Manual updates
No cloud required

If your company has an internal Windows server with IIS running, you can host the site there with no cloud services needed. Fully air-gapped if required.

1
Copy the four HTML files to your server — either manually or via a deployment script:
# PowerShell — copy files to the server
$files = @("index.html","examples.html","comparisons.html","gitlab.html","deploy.html")
$dest  = "\\internal-server\inetpub\wwwroot\gitlearn\"

New-Item -ItemType Directory -Force $dest
$files | ForEach-Object { Copy-Item $_ $dest }
2
Create a new IIS site (or add a virtual directory to an existing site):
  • Open IIS Manager on the server
  • Right-click SitesAdd Website
  • Set Physical path to your destination folder
  • Set Binding to your internal hostname, e.g., gitlearn.internal on port 80
  • Click OK
3
Add a DNS entry on your internal DNS server pointing gitlearn.internal (or whatever hostname you chose) to the server's IP address. Employees can then open http://gitlearn.internal in any browser.
4
Fix the Tailwind CDN issue for air-gapped networks. If employees can't reach cdn.tailwindcss.com, download the Tailwind standalone CLI and generate a CSS file:
# Download the Tailwind standalone CLI for Windows
# https://github.com/tailwindlabs/tailwindcss/releases/latest

# Generate a CSS file from all four HTML files
tailwindcss.exe -i "" --content "*.html" -o tailwind.css --minify
Then replace the CDN script tag in all four HTML files with:
<link rel="stylesheet" href="tailwind.css">
💡
For access control on IIS, use Windows Authentication — employees who are logged into the company domain are authenticated automatically with no login prompt.
Updating the Site After Changes
Deployment How to update
GitHub PagesJust git push — site updates automatically within ~30 seconds
GitLab PagesJust git push gitlab main — pipeline re-runs and redeploys
Azure Static Web AppsJust git push — GitHub Actions redeploys automatically
IIS / Internal ServerRe-copy the updated HTML files to the server folder. Consider a scheduled task or a simple deploy script to automate this.