Skip to content

Commit 5be1479

Browse files
authored
Merge pull request #218 from codeharborhub/dev-1
ADD-DOCS: content created for repo-host-services
2 parents 720a0dc + 33032e0 commit 5be1479

File tree

6 files changed

+389
-0
lines changed

6 files changed

+389
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"label": "Repo Hosting Services",
3+
"position": 5,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "Where does your code live? Explore the major cloud platforms used to host, share, and collaborate on Git repositories, from GitHub to GitLab."
7+
}
8+
}
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
sidebar_position: 4
3+
title: "Bitbucket - The Corporate Choice"
4+
sidebar_label: "4. Bitbucket"
5+
description: "Learn about Bitbucket, the hosting service built for professional teams using the Atlassian suite."
6+
---
7+
8+
**Bitbucket** is a Git-based source code repository hosting service owned by **Atlassian**. Its superpower isn't just hosting code; it’s how perfectly it connects with the tools professional project managers use to track work.
9+
10+
## Why Professional Teams Use Bitbucket
11+
12+
1. **Deep Jira Integration:** If a manager creates a "Bug" ticket in Jira, a developer can create a "Fix" branch in Bitbucket that is automatically linked to that ticket.
13+
2. **Trello Integration:** You can see the status of your code commits directly on your Trello cards.
14+
3. **Superior Code Review:** Bitbucket’s interface for reviewing code (Pull Requests) is designed to handle very large teams with complex approval rules.
15+
4. **IP Whitelisting:** For high-security companies, Bitbucket allows you to restrict code access so it can only be viewed from specific office IP addresses.
16+
17+
## Key Bitbucket Features
18+
19+
<Tabs>
20+
<TabItem value="atlassian" label="🔗 Atlassian Sync" default>
21+
22+
* **Jira Links:** See build status and pull requests directly inside Jira tickets.
23+
* **Confluence:** Embed your code documentation and READMEs into your company's internal wiki automatically.
24+
25+
</TabItem>
26+
<TabItem value="cicd" label="🚀 Pipelines">
27+
28+
* **Bitbucket Pipelines:** An integrated CI/CD service built right into the UI. It uses a `bitbucket-pipelines.yml` file to automate your builds and deployments.
29+
* **Zero-Downtime Deploys:** Easily push code to AWS, Azure, or Google Cloud without your website ever going offline.
30+
31+
</TabItem>
32+
<TabItem value="security" label="🔒 Security">
33+
34+
* **Git Guard:** Scans your commits to ensure you don't accidentally push sensitive data like API keys.
35+
* **Deployment Permissions:** Control exactly who is allowed to push code to the "Production" server.
36+
37+
</TabItem>
38+
</Tabs>
39+
40+
## The Agile Workflow
41+
42+
In Bitbucket, the workflow is often driven by **Agile Sprints**.
43+
44+
```mermaid
45+
sequenceDiagram
46+
participant J as Jira (Task)
47+
participant B as Bitbucket (Code)
48+
participant P as Pipeline (Test)
49+
50+
J->>B: Create Branch from Ticket
51+
B->>B: Developer writes code
52+
B->>P: Trigger Test Pipeline
53+
P-->>B: Tests Passed
54+
B->>J: Update Ticket Status to "Done"
55+
56+
```
57+
58+
## Bitbucket vs. The Others
59+
60+
| Feature | Bitbucket | GitHub | GitLab |
61+
| --- | --- | --- | --- |
62+
| **Parent Company** | Atlassian | Microsoft | Independent |
63+
| **Best Integration** | Jira / Trello | VS Code / Azure | Kubernetes / Linux |
64+
| **Focus** | Project Management | Community/Social | DevOps Lifecycle |
65+
| **Private Repos** | Free for up to 5 users | Free for everyone | Free for everyone |
66+
67+
## Recommended Resources
68+
69+
* **[Bitbucket Tutorials](https://www.atlassian.com/git/tutorials)**: Some of the best Git tutorials on the internet are actually written by the Bitbucket team.
70+
* **[Bitbucket Cloud Docs](https://support.atlassian.com/bitbucket-cloud/)**: Official guide for setting up your first workspace.
71+
* **[Jira & Bitbucket Guide](https://www.atlassian.com/software/jira/bitbucket-integration)**: Learn how to connect your code to your tasks.
72+
73+
## Summary Checklist
74+
75+
* [x] I understand that Bitbucket is owned by Atlassian.
76+
* [x] I know that Bitbucket is the best choice for teams using Jira.
77+
* [x] I understand that "Pipelines" is Bitbucket's automation tool.
78+
* [x] I recognize that Bitbucket focuses on private, professional team security.
79+
80+
:::tip Fun Fact
81+
Unlike GitHub, which only supported Git from the start, Bitbucket used to be a major host for **Mercurial** repositories! They eventually switched to focus exclusively on Git to match the industry standard.
82+
:::
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
sidebar_position: 5
3+
title: "🤔 Choosing the Right Host"
4+
sidebar_label: "5. How to Choose"
5+
description: "A final comparison to help you decide which repository hosting service fits your project and career goals."
6+
---
7+
8+
You’ve explored the "Big Three" of the hosting world: **GitHub**, **GitLab**, and **Bitbucket**. While they all speak the language of Git, they are built for different types of developers and workflows.
9+
10+
This guide will help you make the right choice for your next **CodeHarborHub** project.
11+
12+
## The "Quick-Start" Decision Tree
13+
14+
If you are in a hurry, follow this logic:
15+
16+
```mermaid
17+
graph TD
18+
Start[Start Here] --> A{What is your goal?}
19+
A -- "Build a Portfolio" --> GitHub[GitHub]
20+
A -- "Learn DevOps/Automation" --> GitLab[GitLab]
21+
A -- "Professional Teamwork" --> B{Using Jira/Trello?}
22+
B -- Yes --> Bitbucket[Bitbucket]
23+
B -- No --> GitHub
24+
25+
```
26+
27+
## Feature-by-Feature Comparison
28+
29+
| Feature | 🐙 GitHub | 🦊 GitLab | 🟦 Bitbucket |
30+
| --- | --- | --- | --- |
31+
| **Best For** | Open Source & Portfolios | Private DevOps & Security | Agile Teams & Jira Users |
32+
| **CI/CD Tool** | GitHub Actions | GitLab CI (Native) | Bitbucket Pipelines |
33+
| **Project Tracking** | Issues & Projects (Simple) | Epics & Milestones (Deep) | Deep Jira Integration |
34+
| **Community** | 100M+ Developers | Medium / Enterprise | Corporate / Professional |
35+
| **Self-Hosting** | Hard / Expensive | Easy / Core Feature | Available for Data Centers |
36+
37+
## The "CodeHarborHub" Recommendations
38+
39+
### 1. The Student & Job Seeker Path
40+
41+
**Winner: GitHub** If you are a student (like a B.Tech graduate) looking for an internship or your first job, **GitHub is non-negotiable**. Recruiters check your GitHub profile to see your "Green Squares" (consistency) and the quality of your code.
42+
43+
* **Your Move:** Start here to build your public presence.
44+
45+
### 2. The Private Startup Path
46+
47+
**Winner: GitLab** If you are building a secret project with a small team and want the most powerful automation tools for free, GitLab is incredible. Its built-in security scanning helps you catch bugs before you even launch.
48+
49+
* **Your Move:** Choose this if you want to master "DevOps" early.
50+
51+
### 3. The Corporate / Freelance Path
52+
53+
**Winner: Bitbucket** If you are working with a client who uses Jira to manage their business, Bitbucket is the most efficient choice. It bridges the gap between the manager’s "To-Do" list and your "Code."
54+
55+
* **Your Move:** Choose this for professional, organized team projects.
56+
57+
## Can I use more than one?
58+
59+
**Yes!** Many developers have:
60+
61+
* A **GitHub** account for their public open-source contributions.
62+
* A **GitLab** account for their private "side-hustle" experiments.
63+
* A **Bitbucket** account provided by their employer.
64+
65+
Because they all use **Git**, your commands (`git add`, `git commit`, `git push`) stay exactly the same. You just change the "Remote URL"!
66+
67+
## Final Summary Checklist
68+
69+
* [x] I know that GitHub is the best for my public resume.
70+
* [x] I understand that GitLab offers an all-in-one DevOps experience.
71+
* [x] I recognize that Bitbucket is the king of project management integration.
72+
* [x] I am ready to pick a host and push my first project.
73+
74+
:::success Recommendation for Beginners
75+
At **CodeHarborHub**, we recommend starting with **GitHub**. It has the most tutorials, the most users, and it’s where our community projects live.
76+
:::
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
sidebar_position: 2
3+
title: "GitHub - The Open Source King"
4+
sidebar_label: "2. GitHub"
5+
description: "Learn why GitHub is the world's most popular hosting platform and how to use its social and technical features."
6+
---
7+
8+
**GitHub** is the largest and most influential code-hosting platform in the world. Since its acquisition by Microsoft in 2018, it has evolved from a simple repository host into a complete developer ecosystem. If you are building a career in tech, your GitHub profile is your **professional identity**.
9+
10+
## Why GitHub is the Standard
11+
12+
GitHub is more than just a place for Git; it is a **Social Network for Code**.
13+
14+
1. **Open Source Culture:** Almost every major library (React, Node.js, TensorFlow) is hosted here. You can read their code, report bugs, and even contribute.
15+
2. **Pull Requests (PRs):** This is GitHub's "Killer Feature." It allows you to propose changes to a project. The maintainer can review your code, comment on specific lines, and then "merge" it into the project.
16+
3. **The "Green Square" Grid:** Your profile shows a contribution graph. This visual representation of your activity is often checked by recruiters as a sign of consistency.
17+
18+
## Key GitHub Features
19+
20+
<Tabs>
21+
<TabItem value="collaboration" label="👥 Collaboration" default>
22+
23+
* **Issues:** A built-in task tracker to report bugs or suggest new features.
24+
* **Discussions:** A forum-style space for community chat.
25+
* **Projects:** Kanban-style boards (like Trello) to manage your development workflow.
26+
27+
</TabItem>
28+
<TabItem value="automation" label="🤖 Automation">
29+
30+
* **GitHub Actions:** Automate your software workflows. You can set it up to run tests every time you "push" code.
31+
* **Dependabot:** Automatically checks your project for outdated or insecure libraries and creates a PR to fix them.
32+
33+
</TabItem>
34+
<TabItem value="hosting" label="🚀 Hosting">
35+
36+
* **GitHub Pages:** Turn any repository into a live website for free (great for your portfolio!).
37+
* **GitHub Gists:** A simple way to share small snippets of code or notes.
38+
39+
</TabItem>
40+
</Tabs>
41+
42+
## The Professional Workflow: Forking & Pull Requests
43+
44+
In a professional environment, you don't usually push code directly to the "Main" branch. Instead, you use the **Fork and PR** workflow.
45+
46+
47+
48+
```mermaid
49+
sequenceDiagram
50+
participant OS as Original Repo (CodeHarborHub)
51+
participant MyR as Your Fork (Copy)
52+
participant Local as Your Computer
53+
54+
OS->>MyR: Fork (Create your own copy on GitHub)
55+
MyR->>Local: Clone (Download to your PC)
56+
Local->>Local: Write Code & Commit
57+
Local->>MyR: Push (Upload to your copy)
58+
MyR->>OS: Pull Request (Request to merge your changes)
59+
60+
```
61+
62+
## Essential GitHub Terms
63+
64+
* **Repository (Repo):** Your project folder stored on GitHub.
65+
* **Star:** Like a "Like" button; it helps you bookmark projects you find useful.
66+
* **Fork:** Creating a personal copy of someone else's repository.
67+
* **Watch:** Notifying you every time there is a new update or discussion in a repo.
68+
* **README.md:** The "Face" of your project. It's the first thing people see and should explain what your project does.
69+
70+
## Summary Checklist
71+
72+
* [x] I understand that GitHub is the cloud host for Git repositories.
73+
* [x] I know that my GitHub profile acts as a public resume.
74+
* [x] I understand what a **Pull Request** is used for.
75+
* [x] I recognize that **GitHub Actions** can automate my testing.
76+
77+
:::success Pro-Tip
78+
At **CodeHarborHub**, we encourage you to customize your **Profile README**. Create a repository with the exact same name as your username (e.g., `github.com/yourname/yourname`) and add a README. It will appear on your main profile page as a beautiful bio!
79+
:::
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
sidebar_position: 3
3+
title: "GitLab - The DevOps Specialist"
4+
sidebar_label: "3. GitLab"
5+
description: "Explore GitLab, the all-in-one DevOps platform for hosting, testing, and securing your code."
6+
---
7+
8+
**GitLab** is a complete, web-based DevOps platform that provides everything you need to manage a project from start to finish. While GitHub is famous for "Open Source," GitLab is famous for its **"All-in-One"** philosophy—handling planning, coding, security, and deployment in a single app.
9+
10+
## Why Professionals Choose GitLab
11+
12+
1. **Powerful Built-in CI/CD:** GitLab was the first to build "Continuous Integration" directly into the platform. You don't need a third-party tool; the automation engine is already there.
13+
2. **Self-Hosting:** Many companies (like NASA and Sony) use GitLab because they can install it on their **own private servers**. This ensures their code never leaves their internal network.
14+
3. **Security First:** GitLab automatically scans your code for security vulnerabilities, secret leaks, and even license compliance as soon as you push your code.
15+
4. **Free Private Repositories:** GitLab was one of the first platforms to offer unlimited private repositories for free, making it a favorite for private startups.
16+
17+
## The GitLab Architecture: "The DevOps Loop"
18+
19+
GitLab covers every stage of the software development lifecycle. In the industry, we call this the **DevOps Lifecycle**.
20+
21+
```mermaid
22+
graph LR
23+
Plan --> Create
24+
Create --> Verify
25+
Verify --> Package
26+
Package --> Release
27+
Release --> Configure
28+
Configure --> Monitor
29+
Monitor --> Plan
30+
31+
```
32+
33+
## Key GitLab Features
34+
35+
<Tabs>
36+
<TabItem value="automation" label="⚙️ Automation" default>
37+
38+
* **GitLab CI/CD:** Uses a simple file called `.gitlab-ci.yml` to run tests and deploy code automatically.
39+
* **Auto DevOps:** Automatically detects the language you are using and sets up a best-practice pipeline for you.
40+
41+
</TabItem>
42+
<TabItem value="management" label="📋 Project Management">
43+
44+
* **Milestones:** Track groups of issues related to a specific release date.
45+
* **Epics:** High-level goals that contain multiple issues (great for long-term planning).
46+
* **Time Tracking:** Built-in tools to estimate and track how much time developers spend on tasks.
47+
48+
</TabItem>
49+
<TabItem value="security" label="🛡️ Security">
50+
51+
* **SAST (Static Analysis):** Checks your source code for common security flaws.
52+
* **Dependency Scanning:** Alerts you if any of your `npm` or `pip` packages have known bugs.
53+
54+
</TabItem>
55+
</Tabs>
56+
57+
## GitLab vs. GitHub
58+
59+
| Feature | GitLab | GitHub |
60+
| --- | --- | --- |
61+
| **Philosophy** | All-in-one integrated tool. | Modular (integrates with other apps). |
62+
| **CI/CD** | Deeply integrated and native. | GitHub Actions (Powerful but separate). |
63+
| **Self-Hosting** | Primary feature (GitLab CE/EE). | Available but very expensive (Enterprise). |
64+
| **Community** | Professional & Enterprise. | Largest Open Source community. |
65+
66+
## Recommended Resources
67+
68+
* **[GitLab Docs](https://docs.gitlab.com/)**: Extremely detailed documentation for every feature.
69+
* **[GitLab University](https://about.gitlab.com/learn/)**: Video tutorials and paths to become a certified GitLab Associate.
70+
* **[GitLab for Students](https://about.gitlab.com/solutions/education/)**: Check if your university qualifies for a free GitLab Ultimate license!
71+
72+
## Summary Checklist
73+
74+
* [x] I understand that GitLab is an "All-in-One" DevOps platform.
75+
* [x] I know that GitLab is famous for its built-in CI/CD pipelines.
76+
* [x] I understand that companies use GitLab because it can be self-hosted.
77+
* [x] I recognize the "DevOps Loop" stages.
78+
79+
:::tip Pro-Tip
80+
If you ever want to run your own code-hosting server at home on a **Raspberry Pi**, GitLab is the perfect software to install. It gives you full control over your code without relying on any company!
81+
:::

0 commit comments

Comments
 (0)