GitHub Service Platform
A GitHub Service Platform is an online distributed resource control system that supports a Git Revision Control System.
- Context:
- It can be owned by a GitHub Organization (which can be owned by Microsoft).
- It can support a GitHub Accounts and GitHub Users.
- It can support a GitHub Repository (often a source code repository).
- It can support a GitHub Organization.
- It can support a Git Operation (such as git pulls).
- It can support a GitHub Product, such as GitHub Wikis, GitHub Pages, and GitHub Gists.
- It can support a GitHub Action for automating software workflows.
- It can provide a GitHub API for extending its functionality.
- It can host Open Source Software Projects.
- ...
- Example(s):
- GitHub, 2012: GitHub in its early years, primarily supporting open source projects.
- GitHub, 2014: GitHub introducing the GitHub Pages feature for hosting project documentation.
- GitHub, 2022: GitHub after its acquisition by Microsoft, adding more enterprise features.
- ...
- Counter-Example(s):
- GitLab: An alternative distributed version control system with similar features.
- Bitbucket: A version control repository hosting service owned by Atlassian.
- AWS CodeCommit [1];
- Google Code Service [2];
- JavaForge Service [3]
- CPAN Service, CRAN Service.
- See: Revision Control, Software Development Project, Open Source, ReadWriteWeb, Collaborative Editing, Gitlab.
References
2024
- Thomas Dohmke. (2024). "With AI, Anyone Can Be a Coder Now." TED talk
- NOTES
- The talk begins with the speaker expressing a lifelong love for LEGO, using it as a metaphor for creativity and ease of building, similar to software development.
- The talk emphasizes the accessibility and creative potential of LEGO, drawing a parallel to the collaborative environment of GitHub for software developers.
- The talk highlights the traditional challenges of software development, noting its complexity and exclusivity to professional software developers.
- The talk marks the arrival of ChatGPT in late 2022 as a transformative event, enabling intelligent machines to understand human language and revolutionize software creation.
- The talk traces the historical evolution of programming languages from Plankalkül to COBOL to Python, pointing out that modern code remains unintuitive compared to human language.
- The talk introduces GitHub Copilot, an AI assistant that helps software developers write code, and notes its significant adoption as a milestone in programming.
- The talk includes a live demonstration of GitHub Copilot, showcasing its features, such as code prediction and code completion, to enhance software developer efficiency.
- The talk presents Copilot Chat, a feature allowing software developers to interact with the AI assistant using natural language, and demonstrates its multilingual capabilities.
- The talk predicts that by 2030, there will be over one billion software developers on GitHub, equating to about 10% of the world population.
- The talk envisions this dramatic increase in software developers leading to a new renaissance of human creativity, democratizing software development and reshaping the global economy.
- NOTES
2022
- (Wikipedia, 2022) ⇒ https://en.wikipedia.org/wiki/GitHub Retrieved:2022年10月2日.
- GitHub, Inc., is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.[1]
It is commonly used to host open source software development projects. As of June 2022, GitHub reported having over 83 million developers and more than 200 million repositories, including at least 28 million public repositories. It is the largest source code host as of November 2021.
- GitHub, Inc., is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous integration, and wikis for every project. Headquartered in California, it has been a subsidiary of Microsoft since 2018.[1]
- ↑ "Microsoft has acquired GitHub for $7.5B in stock". TechCrunch. June 4, 2018. Archived from the original on October 25, 2020. Retrieved June 4, 2018.
2021
- (UpGrad, 2021) ⇒ https://www.upgrad.com/blog/github-vs-gitlab-difference-between-github-and-gitlab/
- QUOTE: ... GitLab and GitHub are both web-based repositories that help with code management and sharing local file changes with a remote repository. As the files on the internet keep changing from time to time, all the data is stored in a repository to be accessed later. Git development to track the changes in a source code requires both GitHub and GitLab. ...
A software development life cycle (SDLC) consists of making amends to the existing source code, and sometimes, even creating new source code. Most developers were simultaneously on different parts of code, and so, sometimes, the modifications in the code might conflict with each other. This is likely to introduce unwanted bugs in the software. While these might not affect software development in the beginning, they could lead to severe errors in the future, making it difficult to zero down the error zone.
- QUOTE: ... GitLab and GitHub are both web-based repositories that help with code management and sharing local file changes with a remote repository. As the files on the internet keep changing from time to time, all the data is stored in a repository to be accessed later. Git development to track the changes in a source code requires both GitHub and GitLab. ...
It includes articles and tutorials. These guides are not fully searchable. Every article usually has a 5-10 minute read. Also, GitHub provides a searchable help page as well as FAQs.
GitLab documents are similar to documentation for a language with a search bar, listing all the documents required for the installer.The foremost thing you observe is a search bar on their docs page. They list out docs for GitLab, the GitLab installer, deployment tools, and integration. Also, the page includes a "most popular topics" section.
Pull requests (PRs) support GitHub workflow. They are identical to GitLab MRs. Nothing avoids using GitLab flow on GitHub and vice versa.
GitLab offers more workflow models than GitHub. These workflows have enhanced feature, production, development, environment, and release branches.GitLab Flow is the standard. Moreover, merge requests (MRs) support GitLab workflow. MRs are a framework for code review before integration.
It also uses a snapshot to restore a current GitHub Enterprise Server instance to a preceding state from the backup host.
The Git lab backup is a command-line utility that operates on the same Linux server as GitLab. It can be configured to operate at regular intervals similar to a cron job.
Alternative GitLab backup methods including file system snapshot and GitLab Geo (Ultimate and Premium) are also available.
In the basic configuration, all components can exist in a single node. But when scaling is required, they can be distributed to separate nodes. Single or multiple nodes can be allocated to the same component (for example two or more Gitaly storage servers).
Through GCP, it offers a set of gcloud compute commands that fulfil all required resources and also installs GitHub.
The entire installation process completes in 2.5 hours.
GitLab installs on most of the standard Linux distributions. GitLab supports multiple installation methods. The most famous installation methods are Helm charts for installation on K8S, "Omnibus" installation on Linux, and Docker installation.
The installation process of GitLab through the Docker installation, Gitlab installation, and server provisioning takes nearly 2.5 hours.
.
No extra costs are involved.
GitHub names this configuration HA. But because the failover is manual, it’s stated here as a DR.
GitLab Geo (Premium) permits duplication of a GitLab instance to other geographical sites. The duplication is allowed as a read-only fully operational instance which can be promoted during a disaster.
But, organizations can’t offer access to projects. Being an organization’s member is not sufficient to push and pull from that organization’s repos.
There is no feature matching GitLab’s subgroups because there are no "sub-organizations".
GitLab allows developers to use groups to manage one or more associated projects simultaneously.
A user can use groups to manage permissions for their projects. If somebody gains access to the group, they also gain access to all the projects of that group.
GitLab supports a maximum of 20 levels of subgroups. They are useful for large applications or organizations.
It is mandatory to open an account on AWS, create an S3 bucket, and deploy it.
Runner setup is somewhat easier than in GitLab. The reason is every setup command is offered on an organization/instance/project’s page
When using GitLab, a user has to create an access token, provide a runner server, install runner software on it and finally register it vis-a-vis GitLab through the token. CI/CD – Setup in GitLab uses various executors like Docker, shell, and Kubernetes.
GitLab’s web UI supports runner installation on K8S.
Apps on GitHub enable workflow and automation improvement. Apps are installed at the organization level. Presently, 493 apps exist in the GitHub marketplace.
Tools providers offer GitHub Marketplace tools support.
GitLab supports nearly 30 integrations with third-party tools.
Certain integrations (like Jira and Elasticsearch) are deployed on the instance level, whereas certain integrations like Jenkins are deployed on the project level.
All GitLab integrations are subsets of the GitLab installation. GitLab supports and documents them.
2015
- (GitHub, 2015) ⇒ https://guides.github.com/introduction/flow/
- GitHub Flow is a lightweight, branch-based workflow that supports teams and projects where deployments are made regularly. This guide explains how and why GitHub Flow works.