Take-Home Task: Clone Bootcamp Repo & Push to Your Account

🎯 Objective: Get the bootcamp source code into your own GitHub repository so you can set up CI/CD and deploy it yourself.

⏱️ Time: 5–10 minutes

When: Complete this AFTER finishing the 000 - Pre-Bootcamp Setup Guide and BEFORE starting 001 - Deployment.


Prerequisites Checklist

Before starting, confirm these are all working:

  • GitHub account created
  • SSH key generated and added to GitHub
  • ssh -T git@github.com returns "Hi USERNAME! You've successfully authenticated…"
  • Git installed and identity configured (git config --global user.name and user.email)

❌ If any of the above are not done, go back to 000 - Pre-Bootcamp Setup Guide first.


Step 1: Create an Empty Repository on GitHub

  1. Go to https://github.com/new
  2. Fill in:
    • Repository name: bootcamp
    • Visibility: Public
  3. ⚠️ Do NOT check any of these:
    • ☐ Add a README file
    • ☐ Add .gitignore
    • ☐ Choose a license
  4. Click Create repository

You should see a page with setup instructions. Ignore those instructions — we'll push code from the cloned repo instead.

📌 Your repository URL: https://github.com/USERNAME/bootcamp


Step 2: Clone the Bootcamp Source Code

Open your terminal (WSL Ubuntu for Windows, Terminal for macOS) and run:

git clone git@github.com:devopsmalaysia/bootcamp.git

Expected output:

Cloning into 'bootcamp'...
remote: Enumerating objects: ...
remote: Counting objects: 100% ...
remote: Compressing objects: 100% ...
Receiving objects: 100% ...
Resolving deltas: 100% ...

Then navigate into the project:

cd bootcamp

Step 3: Change the Remote to Your Repository

Currently, the origin remote points to the instructor's repo. Change it to point to YOUR repo:

git remote set-url origin git@github.com:USERNAME/bootcamp.git

⚠️ Replace USERNAME with your actual GitHub username.

Verify the change:

git remote -v

Expected output (should show YOUR username, not devopsmalaysia):

origin  git@github.com:USERNAME/bootcamp.git (fetch)
origin  git@github.com:USERNAME/bootcamp.git (push)

Step 4: Push the Code to Your Repository

git push origin main

Expected output:

Enumerating objects: ...
Counting objects: 100% ...
Delta compression using up to X threads
Compressing objects: 100% ...
Writing objects: 100% ...
Total ... (delta ...), reused ... (delta ...)
To github.com:USERNAME/bootcamp.git
 * [new branch]      main -> main

Step 5: Verify

Open your browser and go to:

https://github.com/USERNAME/bootcamp

✅ You should see all the project files — folders like apps/, services/, contracts/, .github/, etc.

If you see an empty repository or a 404 page, something went wrong — check the Troubleshooting section below.


Step 6 (Optional): Add Upstream for Future Updates

If the instructor pushes updates to the original repo and you want to sync them:

git remote add upstream git@github.com:devopsmalaysia/bootcamp.git

Verify:

git remote -v

Expected output:

origin    git@github.com:USERNAME/bootcamp.git (fetch)
origin    git@github.com:USERNAME/bootcamp.git (push)
upstream  git@github.com:devopsmalaysia/bootcamp.git (fetch)
upstream  git@github.com:devopsmalaysia/bootcamp.git (push)

To sync instructor updates in the future:

git fetch upstream
git merge upstream/main
git push origin main

Summary of Commands

# 1. Clone source repo
git clone git@github.com:devopsmalaysia/bootcamp.git
cd bootcamp

# 2. Change remote to YOUR repo
git remote set-url origin git@github.com:USERNAME/bootcamp.git

# 3. Verify
git remote -v

# 4. Push
git push origin main

# 5. (Optional) Add upstream
git remote add upstream git@github.com:devopsmalaysia/bootcamp.git

Troubleshooting

"Permission denied (publickey)" on clone

# Your SSH key isn't working. Fix:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
ssh -T git@github.com
# Should say: "Hi USERNAME! You've successfully authenticated..."
# Then retry the clone.

"Repository not found" on push

# Check the remote URL is correct:
git remote -v

# Common issues:
# - Typo in username
# - Repo not created yet (go back to Step 1)
# - Repo was initialized with README (delete it and recreate empty)

# Fix the URL:
git remote set-url origin git@github.com:YOUR_CORRECT_USERNAME/bootcamp.git

"Repository not empty" / "Updates were rejected"

You accidentally initialized the repo with a README or other files.

Fix: Delete the repo on GitHub and recreate it:

  1. Go to https://github.com/USERNAME/bootcamp/settings
  2. Scroll to bottom → Delete this repository
  3. Go back to Step 1 and recreate it without any initialization

"fatal: not a git repository"

You're not inside the bootcamp folder:

cd ~/bootcamp
# or wherever you cloned it

What's Next?

Once your code is pushed to https://github.com/USERNAME/bootcamp, proceed to:

➡️ 001 - Bootcamp Deployment Reference

This guide walks you through:

  1. Setting up CI/CD (GitHub Actions builds your Docker images)
  2. Configuring your VPS
  3. Deploying your app live at https://USERNAME.lazuar.dev
Built with LogoFlowershow