feat: update README to include SSH guidelines
This commit is contained in:
74
README.md
74
README.md
@@ -47,14 +47,15 @@ Advanced Git workflows for power users:
|
|||||||
|
|
||||||
### For Module 08: Multiplayer Git
|
### For Module 08: Multiplayer Git
|
||||||
|
|
||||||
**This module is different!** It uses a real Git server for authentic collaboration:
|
**This module is different!** It uses Azure DevOps for authentic cloud-based collaboration:
|
||||||
|
|
||||||
1. Navigate to `01-essentials/08-multiplayer`
|
1. Navigate to `01-essentials/08-multiplayer`
|
||||||
2. Read the `README.md` for complete instructions
|
2. Read the `README.md` for complete instructions
|
||||||
3. **No setup script** - you'll clone from https://git.frod.dk/multiplayer
|
3. **No setup script** - you'll clone from Azure DevOps (URL provided by facilitator)
|
||||||
4. Work with a partner on shared branches
|
4. Work with a partner on shared branches
|
||||||
5. Experience real merge conflicts and pull requests
|
5. Experience real merge conflicts and pull requests
|
||||||
6. **No verify script** - success is visual (your code appears in the final output)
|
6. Use SSH keys for secure authentication (best practice)
|
||||||
|
7. **No verify script** - success is visual (your code appears in the final output)
|
||||||
|
|
||||||
**Facilitators**: See `01-essentials/08-multiplayer/FACILITATOR-SETUP.md` for server setup and workshop guidance.
|
**Facilitators**: See `01-essentials/08-multiplayer/FACILITATOR-SETUP.md` for server setup and workshop guidance.
|
||||||
|
|
||||||
@@ -285,7 +286,8 @@ By completing this workshop, you'll be able to:
|
|||||||
- ✅ **Collaborate with teammates on shared repositories**
|
- ✅ **Collaborate with teammates on shared repositories**
|
||||||
- ✅ **Resolve real merge conflicts in a team environment**
|
- ✅ **Resolve real merge conflicts in a team environment**
|
||||||
- ✅ **Create and review pull requests**
|
- ✅ **Create and review pull requests**
|
||||||
- ✅ **Use Git on a real cloud server (Gitea)**
|
- ✅ **Use Git on a real cloud server (Azure DevOps)**
|
||||||
|
- ✅ **Use SSH keys for secure Git authentication**
|
||||||
|
|
||||||
### From Advanced Track:
|
### From Advanced Track:
|
||||||
- ✅ Rebase to maintain clean, linear history
|
- ✅ Rebase to maintain clean, linear history
|
||||||
@@ -336,37 +338,46 @@ The workshop format combines instructor-led sessions with self-paced hands-on mo
|
|||||||
|
|
||||||
### Setting Up Module 08: Multiplayer Git
|
### Setting Up Module 08: Multiplayer Git
|
||||||
|
|
||||||
Module 08 requires a Git server for authentic collaboration. You have two options:
|
Module 08 requires a Git server for authentic collaboration using **Azure DevOps**.
|
||||||
|
|
||||||
**Option 1: Self-Hosted Gitea Server (Recommended)**
|
**Azure DevOps Setup**
|
||||||
|
|
||||||
Run your own Git server with Gitea using Docker and Cloudflare Tunnel:
|
Use Azure DevOps as the cloud-based Git platform for this module:
|
||||||
|
|
||||||
**Benefits:**
|
**Benefits:**
|
||||||
- 💰 Completely free (no cloud costs)
|
- 💰 Free tier supports up to 5 users with full access
|
||||||
- 🔒 Full control over your data
|
- 🌐 Cloud-hosted - no server maintenance required
|
||||||
- 🌐 Accessible from anywhere via Cloudflare Tunnel
|
- 🔒 Enterprise-grade security and reliability
|
||||||
- 🚀 Quick setup with Docker Compose
|
- 🔑 Built-in SSH key support (industry best practice)
|
||||||
- 👥 Perfect for workshops with 2-24 students
|
- 👥 Perfect for workshops with any number of students (use Stakeholder licenses for >5 users)
|
||||||
|
- 📊 Built-in pull request workflows and code review tools
|
||||||
|
|
||||||
**Setup:**
|
**Setup Steps:**
|
||||||
1. See [GITEA-SETUP.md](GITEA-SETUP.md) for complete Gitea + Docker + Cloudflare Tunnel instructions
|
|
||||||
2. See `01-essentials/08-multiplayer/FACILITATOR-SETUP.md` for detailed workshop preparation:
|
1. **Create Azure DevOps Organization** (if you don't have one):
|
||||||
- Creating student accounts
|
- Sign up at [dev.azure.com](https://dev.azure.com) with a Microsoft account
|
||||||
- Setting up The Great Print Project repository
|
- Create a new organization for your workshop
|
||||||
|
|
||||||
|
2. **Set up SSH authentication** (recommended for all users):
|
||||||
|
- See [AZURE-DEVOPS-SSH-SETUP.md](AZURE-DEVOPS-SSH-SETUP.md) for complete SSH key setup instructions
|
||||||
|
- SSH provides secure, passwordless authentication (industry standard)
|
||||||
|
|
||||||
|
3. **Configure workshop repository and users**:
|
||||||
|
- See `01-essentials/08-multiplayer/FACILITATOR-SETUP.md` for detailed workshop preparation:
|
||||||
|
- Adding student accounts to Azure DevOps
|
||||||
|
- Creating The Great Print Project repository
|
||||||
|
- Configuring branch policies
|
||||||
- Pairing students
|
- Pairing students
|
||||||
- Monitoring progress
|
- Monitoring progress
|
||||||
- Troubleshooting common issues
|
- Troubleshooting SSH and authentication issues
|
||||||
|
|
||||||
**Option 2: Azure DevOps / GitHub / GitLab**
|
**Alternative: GitHub / GitLab / Bitbucket**
|
||||||
|
|
||||||
You can also use existing cloud Git platforms:
|
While this workshop uses Azure DevOps, the skills learned apply to any Git platform:
|
||||||
- Create organization/group for the workshop
|
- The workflow is identical across all platforms
|
||||||
- Set up repository with starter code (see facilitator guide)
|
- SSH authentication works the same way everywhere
|
||||||
- Create user accounts for students
|
- Pull request concepts transfer directly
|
||||||
- Configure permissions
|
- Students can apply these skills to any Git hosting service
|
||||||
|
|
||||||
**Both options work - Gitea gives you more control and is free for any number of students.**
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -380,7 +391,7 @@ git-workshop/
|
|||||||
├── GIT-CHEATSHEET.md # Quick reference for all Git commands
|
├── GIT-CHEATSHEET.md # Quick reference for all Git commands
|
||||||
├── WORKSHOP-AGENDA.md # Facilitator guide for running workshops
|
├── WORKSHOP-AGENDA.md # Facilitator guide for running workshops
|
||||||
├── PRESENTATION-OUTLINE.md # Slide deck outline
|
├── PRESENTATION-OUTLINE.md # Slide deck outline
|
||||||
├── GITEA-SETUP.md # Self-hosted Git server setup
|
├── AZURE-DEVOPS-SSH-SETUP.md # SSH authentication best practices for Azure DevOps
|
||||||
├── install-glow.ps1 # Install glow markdown renderer
|
├── install-glow.ps1 # Install glow markdown renderer
|
||||||
│
|
│
|
||||||
├── 01-essentials/ # Core Git skills (8 modules)
|
├── 01-essentials/ # Core Git skills (8 modules)
|
||||||
@@ -406,15 +417,16 @@ git-workshop/
|
|||||||
|
|
||||||
## What's Unique About This Workshop
|
## What's Unique About This Workshop
|
||||||
|
|
||||||
### The Great Print Project (Module 07)
|
### The Great Print Project (Module 08)
|
||||||
|
|
||||||
Unlike any other Git tutorial, Module 08 provides **real collaborative experience**:
|
Unlike any other Git tutorial, Module 08 provides **real collaborative experience**:
|
||||||
|
|
||||||
- **Real Git server**: Not simulated - actual cloud repository at https://git.frod.dk/multiplayer
|
- **Real Git server**: Not simulated - actual Azure DevOps cloud repository
|
||||||
- **Real teammates**: Work in pairs on shared branches
|
- **Real teammates**: Work in pairs on shared branches
|
||||||
- **Real conflicts**: Both partners edit the same code and must resolve conflicts together
|
- **Real conflicts**: Both partners edit the same code and must resolve conflicts together
|
||||||
- **Real pull requests**: Create PRs, review code, merge to main
|
- **Real pull requests**: Create PRs, review code, merge to main
|
||||||
- **Real success**: When all pairs merge, run `python main.py` and see everyone's contributions!
|
- **Real success**: When all pairs merge, run `python main.py` and see everyone's contributions!
|
||||||
|
- **Real security**: Use SSH keys for authentication (industry best practice)
|
||||||
|
|
||||||
**The challenge**: Each pair implements 3 Python functions (e.g., `print_b()`, `print_c()`, `print_d()`) in a shared repository. When complete, the program prints the alphabet A-Z and numbers 0-9.
|
**The challenge**: Each pair implements 3 Python functions (e.g., `print_b()`, `print_c()`, `print_d()`) in a shared repository. When complete, the program prints the alphabet A-Z and numbers 0-9.
|
||||||
|
|
||||||
@@ -459,8 +471,8 @@ A: Absolutely! See the "For Workshop Facilitators" section above. The materials
|
|||||||
**Q: Do I need internet access?**
|
**Q: Do I need internet access?**
|
||||||
A: Modules 01-07 work completely offline. Module 08 requires internet to access the Git server.
|
A: Modules 01-07 work completely offline. Module 08 requires internet to access the Git server.
|
||||||
|
|
||||||
**Q: What if I prefer GitHub/GitLab instead of Gitea?**
|
**Q: What if I prefer GitHub/GitLab instead of Azure DevOps?**
|
||||||
A: The skills are identical across all Git platforms. Module 08 uses Gitea but everything you learn applies to GitHub, GitLab, Bitbucket, etc.
|
A: The skills are identical across all Git platforms. Module 08 uses Azure DevOps but everything you learn applies directly to GitHub, GitLab, Bitbucket, and any other Git hosting service. The SSH authentication, pull request workflow, and collaboration patterns are the same everywhere.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user