gitlab vs github #22
|
|
@ -78,7 +78,7 @@
|
|||
\end{figure}
|
||||
Diese wissenschaftliche Ausarbeitung beschäftigt sich damit, inwiefern sich die von GitLab v18.11 bereitgestellten Werkzeuge bzw. Möglichkeiten eignen um eine beispielhafte Anwendung zu entwickeln, zu testen und einzusetzen. Ebenso wird betrachtet in welchen Punkten sich die Implementierung von \ac{CI}/\ac{CD} in GitLab zu seinem Mitstreiter GitHub unterscheidet.
|
||||
\subsection{Softwarelösung}
|
||||
GitLab ist eine mit Git kompatible Plattform für Code-Hosting. Der Code von GitLab ist in Ruby verfasst \cite{degeler_gitlab_2014}. Unter der Haube verwendet Git die relationale Datenbank PostgreSQL. Auf GitLab kann mithilfe einer Weboberfläche zugegriffen werden \cite{gitlab_about}:
|
||||
GitLab ist eine mit Git kompatible Plattform für Code-Hosting. Der Code von GitLab ist in Ruby verfasst \cite{degeler_gitlab_2014}. Unter der Haube verwendet Git die relationale Datenbank PostgreSQL. Auf GitLab kann mithilfe einer Weboberfläche zugegriffen werden \cite{gitlab_about}. Es wird differenziert in die kostenfreie \ac{CE} und kostenpflichtige \ac{EE}.
|
||||
GitLab kann in folgenden unterschiedlichen Formen genutzt werden:
|
||||
|
||||
\begin{itemize}
|
||||
|
|
@ -163,6 +163,14 @@
|
|||
\item \textbf{Internal} Ein Interner Nutzer besitzt meist eingeschränkten Zugriff und wird durch GitLab automatisch erstellt. Interne Nutzer können als Bots betrachtet werden, die automatisierte Prozesse durchführen, die durch normale Nutzer nicht ausgeführt werden können. Interne Nutzer sind für alle Lösungen von GitLab erhältlich.
|
||||
\item \textbf{Service} Service Accounts repräsentieren nicht menschliche Nutzer. Service Nutzer kommen bei der automatischen Ausführung von Prozessen und Pipelines zum Einsatz. Service Nutzer sind für alle Lösungen von GitLab erhältlich.
|
||||
\end{itemize}
|
||||
\subsection{GitLab vs. GitHub}
|
||||
|
||||
Bei der Wahl von Code-Hosting ist oft GitHub die erste Wahl. GitHub wurde 2008 von Chris Wanstrath, Tom Preston-Werner und Phillip Jeffrey Hyett gegründet. GitHub wurde 2018 für ungefähr 7,5 Milliarden USD an den Software-Giganten Microsoft verkauft \cite{jrHowThis33yearold2018}. Der Code von GitHub selber ist nicht öffentlich zugänglich. Für Github besteht keine Option die Plattform selbst zu hosten. Nutzer sind daran gebunden, unter der Haube, auf Services zuzugreifen, die in Microsoft Azure laufen. \url{github.com} besitzt im Vergleich zu \url{gitlab.com} eine höhere Anzahl an Nutzern für Q4 2025. GitHub hat verdächtige Nutzer und Bots in ihrer Angabe herausgefiltert und kommt auf eine Gesamtanzahl an ca. 179 Millionen Nutzer \cite{GitHubInnovationGraph}. GitLab gibt an, dass von mindestens 50 Millionen Nutzern ausgegangen werden kann \cite{Q4FY2026GitLab}.
|
||||
Aufgrund der grösseren Nutzerbasis eignet sich GitHub mehr für eine kollaborative Zusammenarbeit an \ac{OSS}. Ein Projekt erreicht mehr Nutzer, die potenziell beitragen können.
|
||||
GitLab und GitHub teilen sich neben demselben Namenspräfix, ähnliche Mechanismen \cite{gitlab_gitlab_nodate}.\\\\
|
||||
\ac{CI}/\ac{CD} ist für jeweils beide Plattformen erhältlich. Unter GitHub bieten \textit{GitHub Actions} die Möglichkeit Build-, Test- und Deploymentprozesse zu automatisieren. In GitHub sind diese Abläufe in Form von \textit{Workflows} organisiert. Ein \textit{Workflow} wird durch ein Ereignis ausgelöst. Ein \textit{Workflow} ist in \textit{Jobs} aufgegliedert. \textit{Jobs} beinhalten Anweisungen bspw. in Form von Kommandozeilenskripts, die sequentiell ausgeführt werden. Eine \textit{Action} beschreibt eine Menge an wiederverwendbaren \textit{Jobs}. \textit{Workflows} werden auf einem Server bzw. einem \textit{Runner} ausgeführt. Für GitHub ist auch das eigene Hosten eines \textit{Runners} möglich. Die Verwendung von eigens gehosteten Runnern, sowie der von GitHub bereitgestellten Runnern ist für öffentliche Repositories kostenlos. Für private Repositories existiert ein Zeitbudget.\\\\
|
||||
Beide Plattformen bieten KI-Assistenten an. Für GitHub existiert \textit{GitHub Copilot} und für GitLab \textit{GitLab Duo Agent}. Aktuell kann \textit{GitHub Copilot} mit einem eingeschränkten Zugriff auf Funktionalitäten, kostenlos verwendet werden. Im Gegensatz ist aktuell eine kostenfreie Nutzung von \textit{GitLab Duo Agent} nicht möglich. Copilot beschränkt sich auf alle Artefakte, die in einem Code-Repository liegen. \textit{GitLab Duo Agent} besitzt einen größeren Kontext, zu dem zusätzlich Dokumentation, Planung und Sicherheit gehören. Aufgrund der Aneignung von \textit{Visual Studio Code} durch Microsoft ist \textit{GitHub Copilot} nativ enthalten. Eine Unterstützung für \textit{GitLab Duo Agent} muss über die offizielle \href{https://marketplace.visualstudio.com/items?itemName=GitLab.gitlab-workflow}{Erweiterung} ergänzt werden. Interaktionen mit \textit{GitHub Copilot} werden standardmässig von GitHub zum trainieren und verbessern von KI-Modellen verwendet. UM eine Weiterverarbeitung der Daten zu verhindern muss manuell widersprochen werden. Für beide KI-Assistenten kann das unterliegende Modell variiert werden.\\\\
|
||||
Das Hosten von Code-Schnipseln ist in GitHub als \href{https://gist.github.com/}{Gist} und in GitLab unter \href{https://gitlab.com/dashboard/snippets}{Snippets} möglich. Organisationen können in GitHub ebenfalls abgebildet werden.
|
||||
|
||||
\section{CI/CD}
|
||||
|
||||
|
|
@ -172,7 +180,6 @@
|
|||
\subsection{Pipelines}
|
||||
\subsection{Jobs}
|
||||
\subsection{CICD-Komponenten}
|
||||
\subsection{GitLab vs. GitHub}
|
||||
\subsection{Anwendungsbeispiel}
|
||||
|
||||
\section{Selbstgehostete Lösung}
|
||||
|
|
@ -310,6 +317,7 @@
|
|||
\acro{SVN}{Subversion}
|
||||
\acro{TFVC}{Team Foundation Version Control (TFVC)}
|
||||
\acro{CVS}{Concurrent Versions System}
|
||||
\acro{OSS}{Open Source Software}
|
||||
\end{acronym}
|
||||
|
||||
\printbibliography
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
File diff suppressed because one or more lines are too long
|
|
@ -839,4 +839,181 @@ This aggressive push into AI and compliance is why you should be watching their
|
|||
<z:linkMode>1</z:linkMode>
|
||||
<link:type>text/html</link:type>
|
||||
</z:Attachment>
|
||||
<bib:Document rdf:about="https://www.heise.de/tipps-tricks/GitHub-vs-GitLab-4597154.html">
|
||||
<z:itemType>webpage</z:itemType>
|
||||
<dcterms:isPartOf>
|
||||
<z:Website><dc:title>Tipps-Tricks</dc:title></z:Website>
|
||||
</dcterms:isPartOf>
|
||||
<bib:authors>
|
||||
<rdf:Seq>
|
||||
<rdf:li>
|
||||
<foaf:Person>
|
||||
<foaf:surname>online</foaf:surname>
|
||||
<foaf:givenName>heise</foaf:givenName>
|
||||
</foaf:Person>
|
||||
</rdf:li>
|
||||
</rdf:Seq>
|
||||
</bib:authors>
|
||||
<link:link rdf:resource="#item_241"/>
|
||||
<dc:title>GitHub vs. GitLab</dc:title>
|
||||
<dcterms:abstract>GitHub und GitLab klingen ähnlich und sie bieten Ähnliches: Source Code Management und Hosting auf git-Basis. Wo liegen die Unterschiede?</dcterms:abstract>
|
||||
<dc:date>2024-02-12</dc:date>
|
||||
<z:language>de</z:language>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://www.heise.de/tipps-tricks/GitHub-vs-GitLab-4597154.html</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 07:55:34</dcterms:dateSubmitted>
|
||||
<z:citationKey>onlineGitHubVsGitLab2024</z:citationKey>
|
||||
</bib:Document>
|
||||
<z:Attachment rdf:about="#item_241">
|
||||
<z:itemType>attachment</z:itemType>
|
||||
<dc:title>Snapshot</dc:title>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://www.heise.de/tipps-tricks/GitHub-vs-GitLab-4597154.html</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 07:55:39</dcterms:dateSubmitted>
|
||||
<z:linkMode>1</z:linkMode>
|
||||
<link:type>text/html</link:type>
|
||||
</z:Attachment>
|
||||
<bib:Document rdf:about="https://www.heise.de/news/Microsoft-kauft-GitHub-fuer-7-5-Milliarden-US-Dollar-4067633.html">
|
||||
<z:itemType>webpage</z:itemType>
|
||||
<dcterms:isPartOf>
|
||||
<z:Website><dc:title>heise online</dc:title></z:Website>
|
||||
</dcterms:isPartOf>
|
||||
<bib:authors>
|
||||
<rdf:Seq>
|
||||
<rdf:li>
|
||||
<foaf:Person>
|
||||
<foaf:surname>online</foaf:surname>
|
||||
<foaf:givenName>heise</foaf:givenName>
|
||||
</foaf:Person>
|
||||
</rdf:li>
|
||||
</rdf:Seq>
|
||||
</bib:authors>
|
||||
<link:link rdf:resource="#item_243"/>
|
||||
<dc:title>Microsoft kauft GitHub für 7,5 Milliarden US-Dollar</dc:title>
|
||||
<dcterms:abstract>Was sich bereits angedeutet hat, wurde nun bestätigt: Der US-amerikanische Softwarekonzern Microsoft kauft GitHub und legt dafür stolze 7,5 Milliarden US-Dollar auf den Tisch.</dcterms:abstract>
|
||||
<dc:date>2018-06-04</dc:date>
|
||||
<z:language>de</z:language>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://www.heise.de/news/Microsoft-kauft-GitHub-fuer-7-5-Milliarden-US-Dollar-4067633.html</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 08:01:12</dcterms:dateSubmitted>
|
||||
<z:citationKey>onlineMicrosoftKauftGitHub2018</z:citationKey>
|
||||
</bib:Document>
|
||||
<z:Attachment rdf:about="#item_243">
|
||||
<z:itemType>attachment</z:itemType>
|
||||
<dc:title>Snapshot</dc:title>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://www.heise.de/news/Microsoft-kauft-GitHub-fuer-7-5-Milliarden-US-Dollar-4067633.html</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 08:01:17</dcterms:dateSubmitted>
|
||||
<z:linkMode>1</z:linkMode>
|
||||
<link:type>text/html</link:type>
|
||||
</z:Attachment>
|
||||
<bib:Document rdf:about="https://www.cnbc.com/2018/06/04/chris-wanstrath-co-founded-github-which-microsoft-bought-for-billions.html">
|
||||
<z:itemType>webpage</z:itemType>
|
||||
<dcterms:isPartOf>
|
||||
<z:Website><dc:title>CNBC</dc:title></z:Website>
|
||||
</dcterms:isPartOf>
|
||||
<bib:authors>
|
||||
<rdf:Seq>
|
||||
<rdf:li>
|
||||
<foaf:Person>
|
||||
<foaf:surname>Jr</foaf:surname>
|
||||
<foaf:givenName>Tom Huddleston</foaf:givenName>
|
||||
</foaf:Person>
|
||||
</rdf:li>
|
||||
</rdf:Seq>
|
||||
</bib:authors>
|
||||
<link:link rdf:resource="#item_245"/>
|
||||
<dc:title>How this 33-year-old college dropout co-founded GitHub, which just sold to Microsoft for $7.5 billion</dc:title>
|
||||
<dcterms:abstract>Chris Wanstrath co-founded GitHub in 2008, three years after dropping out of college.</dcterms:abstract>
|
||||
<dc:date>2018-06-04T22:20:12+0000</dc:date>
|
||||
<z:language>en</z:language>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://www.cnbc.com/2018/06/04/chris-wanstrath-co-founded-github-which-microsoft-bought-for-billions.html</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 08:08:21</dcterms:dateSubmitted>
|
||||
<dc:description>Section: Make It - Entrepreneurs</dc:description>
|
||||
<z:citationKey>jrHowThis33yearold2018</z:citationKey>
|
||||
</bib:Document>
|
||||
<z:Attachment rdf:about="#item_245">
|
||||
<z:itemType>attachment</z:itemType>
|
||||
<dc:title>Snapshot</dc:title>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://www.cnbc.com/2018/06/04/chris-wanstrath-co-founded-github-which-microsoft-bought-for-billions.html</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 08:08:27</dcterms:dateSubmitted>
|
||||
<z:linkMode>1</z:linkMode>
|
||||
<link:type>text/html</link:type>
|
||||
</z:Attachment>
|
||||
<bib:Document rdf:about="https://ir.gitlab.com/js/pdf-js/web/viewer.html?file=https://s204.q4cdn.com/984476563/files/doc_financials/2026/q4/Q4-FY2026-GitLab-Overview-Investor-Presentation.pdf">
|
||||
<z:itemType>webpage</z:itemType>
|
||||
<dcterms:isPartOf>
|
||||
<z:Website></z:Website>
|
||||
</dcterms:isPartOf>
|
||||
<link:link rdf:resource="#item_247"/>
|
||||
<dc:title>Q4 FY2026 GitLab Overview Investor Presentation - Q4-FY2026-GitLab-Overview-Investor-Presentation.pdf</dc:title>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://ir.gitlab.com/js/pdf-js/web/viewer.html?file=https://s204.q4cdn.com/984476563/files/doc_financials/2026/q4/Q4-FY2026-GitLab-Overview-Investor-Presentation.pdf</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 08:28:49</dcterms:dateSubmitted>
|
||||
<z:citationKey>Q4FY2026GitLab</z:citationKey>
|
||||
</bib:Document>
|
||||
<z:Attachment rdf:about="#item_247">
|
||||
<z:itemType>attachment</z:itemType>
|
||||
<dc:title>Q4 FY2026 GitLab Overview Investor Presentation - Q4-FY2026-GitLab-Overview-Investor-Presentation.pdf</dc:title>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://ir.gitlab.com/js/pdf-js/web/viewer.html?file=https://s204.q4cdn.com/984476563/files/doc_financials/2026/q4/Q4-FY2026-GitLab-Overview-Investor-Presentation.pdf</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 08:28:53</dcterms:dateSubmitted>
|
||||
<z:linkMode>1</z:linkMode>
|
||||
<link:type>text/html</link:type>
|
||||
</z:Attachment>
|
||||
<bib:Document rdf:about="https://innovationgraph.github.com">
|
||||
<z:itemType>webpage</z:itemType>
|
||||
<dcterms:isPartOf>
|
||||
<z:Website></z:Website>
|
||||
</dcterms:isPartOf>
|
||||
<link:link rdf:resource="#item_249"/>
|
||||
<dc:title>GitHub Innovation Graph</dc:title>
|
||||
<dcterms:abstract>Explore a universe of data about how the world is building software together on GitHub.</dcterms:abstract>
|
||||
<z:language>en</z:language>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://innovationgraph.github.com</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 08:29:37</dcterms:dateSubmitted>
|
||||
<z:citationKey>GitHubInnovationGraph</z:citationKey>
|
||||
</bib:Document>
|
||||
<z:Attachment rdf:about="#item_249">
|
||||
<z:itemType>attachment</z:itemType>
|
||||
<dc:title>Snapshot</dc:title>
|
||||
<dc:identifier>
|
||||
<dcterms:URI>
|
||||
<rdf:value>https://innovationgraph.github.com</rdf:value>
|
||||
</dcterms:URI>
|
||||
</dc:identifier>
|
||||
<dcterms:dateSubmitted>2026-05-19 08:29:42</dcterms:dateSubmitted>
|
||||
<z:linkMode>1</z:linkMode>
|
||||
<link:type>text/html</link:type>
|
||||
</z:Attachment>
|
||||
</rdf:RDF>
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Reference in New Issue