Difference between revisions of "GitLab"

From wikieduonline
Jump to navigation Jump to search
 
(56 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[GitLab]] is a web-based [[DevOps]] lifecycle software service or locally installed that provides a [[Git]]-repository manager providing wiki, issue-tracking and [[CI/CD]] pipeline features, using an open-source license.
+
[[wikipedia:GitLab]] ([[2011]]) is a web-based [[DevOps]] lifecycle software service or locally installed, available since 2011, that provides a [[Git]]-repository manager providing wiki, issue-tracking and [[CI/CD]] pipeline features, using an open-source license.
 +
* https://www.google.com/finance/quote/GTLB:NASDAQ?hl=en&window=5Y
  
 
Since April 2018, GitLab support integration with [[Google Kubernetes Engine]] (GKE) to simplify the process of spinning up a new [[Kubernetes]] cluster and deploy applications.
 
Since April 2018, GitLab support integration with [[Google Kubernetes Engine]] (GKE) to simplify the process of spinning up a new [[Kubernetes]] cluster and deploy applications.
 
[[GitLab]] provides a Prometheus integration guide to export GitLab metrics to [[Prometheus]] monitoring system<ref>{{Cite web|url = https://docs.gitlab.com/ee/administration/monitoring/prometheus/gitlab_metrics.html|title = GitLab Prometheus metrics|accessdate = December 26, 2018}}</ref> and it is activated by default since version 9.0 in 2017.<ref>https://about.gitlab.com/2017/03/22/gitlab-9-0-released/</ref>
 
  
 
GitLab is integrated of different modules including [[GitLab Runner]]<ref>https://docs.gitlab.com/runner/</ref> (<code>.[[gitlab-ci.yml]]</code>) responsible for the [[continuous integration]]<ref>https://docs.gitlab.com/runner/</ref> with an embedded HTTP Statistics Server with Prometheus metrics available on <code>/metrics</code> since GitLab Runner 1.8.0.<ref>https://docs.gitlab.com/runner/monitoring/README.html</ref>
 
GitLab is integrated of different modules including [[GitLab Runner]]<ref>https://docs.gitlab.com/runner/</ref> (<code>.[[gitlab-ci.yml]]</code>) responsible for the [[continuous integration]]<ref>https://docs.gitlab.com/runner/</ref> with an embedded HTTP Statistics Server with Prometheus metrics available on <code>/metrics</code> since GitLab Runner 1.8.0.<ref>https://docs.gitlab.com/runner/monitoring/README.html</ref>
  
 
GitLab offers many features such as:
 
GitLab offers many features such as:
*audit events<ref>https://docs.gitlab.com/ee/administration/audit_events.html</ref>
+
* [[Audit events]]<ref>https://docs.gitlab.com/ee/administration/audit_events.html</ref>
*[[container registry]]<ref>https://docs.gitlab.com/ee/user/packages/container_registry/</ref>
+
* [[GitLab container registry]]<ref>https://docs.gitlab.com/ee/user/packages/container_registry/</ref>
 
* [[ElasticSearch]] and [[Sentry]] integration <ref>https://docs.gitlab.com/ee/integration/elasticsearch.html</ref> (not installed with GitLab)
 
* [[ElasticSearch]] and [[Sentry]] integration <ref>https://docs.gitlab.com/ee/integration/elasticsearch.html</ref> (not installed with GitLab)
 
* read-only mirrors called GitLab Geo (Premium)
 
* read-only mirrors called GitLab Geo (Premium)
 
* [[SAML]] 2.0 Service Provider (SP) capabilities used for Web Browser Single Sign-On ([[SSO]])
 
* [[SAML]] 2.0 Service Provider (SP) capabilities used for Web Browser Single Sign-On ([[SSO]])
 +
* [[Project members permissions]]: Guest, Reporter, Developer, [[Maintainer]], Owner <ref>https://docs.gitlab.com/ee/user/permissions.html</ref>
  
 
An integrates with many platforms such as [[Salesforce]] DX and [[Snowplow]].
 
An integrates with many platforms such as [[Salesforce]] DX and [[Snowplow]].
Line 19: Line 19:
 
=== Binaries ===
 
=== Binaries ===
 
* <code>[[gitlab-ctl]]</code>
 
* <code>[[gitlab-ctl]]</code>
 +
** <code>[[gitlab-ctl status]]</code>
 
** <code>gitlab-ctl tail</code>
 
** <code>gitlab-ctl tail</code>
 
** <code>gitlab-ctl pg-password-md5 gitlab</code>
 
** <code>gitlab-ctl pg-password-md5 gitlab</code>
Line 24: Line 25:
  
 
=== Configuration files ===
 
=== Configuration files ===
* Default configuration file: <code>/etc/gitlab/gitlab.rb</code>
+
* Default configuration file: <code>/etc/gitlab/[[gitlab.rb]]</code>
* Secrets: <code>/etc/gitlab/gitlab-secrets.json</code>
+
* Secrets: <code>/etc/gitlab/[[gitlab-secrets.json]]</code>
* Default data directory: <code>/var/opt/gitlab/git-data</code>
+
* Default data directory: <code>[[/var/opt/gitlab/git-data/]]</code>
* GitLab [[CI/CD]] pipelines: <code>.[[gitlab-ci.yml]]</code> https://docs.gitlab.com/ee/ci/yaml/
+
* Default [[Gitlab backups|backup]] directory: <code>[[/var/opt/gitlab/backup/]]</code>
 +
* [[GitLab CI/CD]] pipelines: <code>.[[gitlab-ci.yml]]</code> https://docs.gitlab.com/ee/ci/yaml/
  
=== Log files ===
+
=== [[GitLab logs]] ===
 
* <code>/var/log/gitlab/gitlab-rails/[[production.log]]</code>
 
* <code>/var/log/gitlab/gitlab-rails/[[production.log]]</code>
 +
* <code>[[application.log]]</code> and <code>application_json.log</code> (Since [[GitLab 12.7]])
 +
 +
== [[Health check]]s and monitoring ==
 +
[[Health check]]s  https://docs.gitlab.com/ee/user/admin_area/monitoring/health_check.html
 +
* <code>GET http://localhost/-/health</code>
 +
* <code>GET http://localhost/-/readiness</code>
 +
* <code>GET http://localhost/-/liveness</code>
 +
 +
[[GitLab]] provides a [[Prometheus]] and [[Grafana]] integration, GitLab export GitLab metrics to [[Prometheus]] monitoring system<ref>{{Cite web|url = https://docs.gitlab.com/ee/administration/monitoring/prometheus/gitlab_metrics.html|title = GitLab Prometheus metrics|accessdate = December 26, 2018}}</ref> and it is activated by default since version 9.0 in 2017.<ref>https://about.gitlab.com/2017/03/22/gitlab-9-0-released/</ref>
 +
 +
  
 
== Components ==
 
== Components ==
 
* [[Sidekiq]] job scheduler
 
* [[Sidekiq]] job scheduler
  
 
+
== [[GitLab editions]] ==
== Editions ==
 
* Self-managed: Core, Starter, Premium and [[GitLab Ultimate|Ultimate]]
 
  
 
==Activities==
 
==Activities==
 
=== Basic ===
 
=== Basic ===
 
# Read GitLab CI/CD Pipeline Configuration Reference:<code>.gitlab-ci.yml</code> https://docs.gitlab.com/ee/ci/yaml/
 
# Read GitLab CI/CD Pipeline Configuration Reference:<code>.gitlab-ci.yml</code> https://docs.gitlab.com/ee/ci/yaml/
 +
# [[Create a backup from GitLab]]
  
 
=== Medium ===
 
=== Medium ===
Line 47: Line 59:
 
# [[Install GitLab]] using docker containers. Note: Gitlab uses [[PostgreSQL]] as database backend.<ref>https://docs.gitlab.com/omnibus/settings/database.html</ref>
 
# [[Install GitLab]] using docker containers. Note: Gitlab uses [[PostgreSQL]] as database backend.<ref>https://docs.gitlab.com/omnibus/settings/database.html</ref>
 
# Review [[GitLab Automatic Let’s Encrypt Renewal]]
 
# Review [[GitLab Automatic Let’s Encrypt Renewal]]
 +
# Review [[GitLab project members permissions]]/privileges: <code>Guest, Reporter, Developer, [[Maintainer]], Owner</code>, and <code>external users</code>.
 +
# Generate new 2FA codes: [[GitLab: ssh [email protected] 2fa recovery codes]]
  
 
=== Advanced ===
 
=== Advanced ===
Line 55: Line 69:
 
== GitLab and Kubernetes ==
 
== GitLab and Kubernetes ==
 
Since April 2018, GitLab simplifies process of spinning up a new [[Kubernetes]] cluster in [[Google Kubernetes Engine]] ([[GKE]]) to deploy applications.<ref>https://about.gitlab.com/2018/04/05/gke-gitlab->in [[Google Kubernetes Engine]] (GKE) integration/</ref>
 
Since April 2018, GitLab simplifies process of spinning up a new [[Kubernetes]] cluster in [[Google Kubernetes Engine]] ([[GKE]]) to deploy applications.<ref>https://about.gitlab.com/2018/04/05/gke-gitlab->in [[Google Kubernetes Engine]] (GKE) integration/</ref>
 +
 +
See also: [[GitLab Kubernetes agent]], [[gitlab-agent for Kubernetes]]
 +
 +
== Related terms ==
 +
* [[U2F]]
 +
* [[GitLab groups]] https://about.gitlab.com/blog/2014/06/30/feature-highlight-groups/
 +
* [[EKS]] integration
 +
* [[Bitbucket]]
 +
* [[Azure DevOps Server]]
 +
* [[GitHub Enterprise Server]]
 +
* [[Terraform resource: gitlab_deploy_token]]
 +
* [[ICONIQ Capital]]
 +
* [[Meltano]] [[ETL]]
 +
* [[GitLab environment variables]]
 +
* [[GitLab terraform integration]]
  
 
== See also ==
 
== See also ==
 +
* {{glab}}
 
* {{GitLab}}
 
* {{GitLab}}
* {{git software}}
+
* {{VCS}}
* {{dev}}
 
* {{SCA}}
 
* {{CI}}
 
* [[wikipedia:Comparison_of_source-code-hosting_facilities]]
 
  
[[Category:Cloud computing| ]]
+
[[Category:Cloud computing]]
[[Category: Software development]]
 
 
[[Category:Version Control]]
 
[[Category:Version Control]]
 +
[[Category:CI]]
  
 
{{CC license}}
 
{{CC license}}
 
Source: https://en.wikiversity.org/wiki/DevOps/GitLab
 
Source: https://en.wikiversity.org/wiki/DevOps/GitLab

Latest revision as of 15:12, 13 December 2022

wikipedia:GitLab (2011) is a web-based DevOps lifecycle software service or locally installed, available since 2011, that provides a Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features, using an open-source license.

Since April 2018, GitLab support integration with Google Kubernetes Engine (GKE) to simplify the process of spinning up a new Kubernetes cluster and deploy applications.

GitLab is integrated of different modules including GitLab Runner[1] (.gitlab-ci.yml) responsible for the continuous integration[2] with an embedded HTTP Statistics Server with Prometheus metrics available on /metrics since GitLab Runner 1.8.0.[3]

GitLab offers many features such as:

An integrates with many platforms such as Salesforce DX and Snowplow.

GitLab Software[edit]

Binaries[edit]

Configuration files[edit]

GitLab logs[edit]

Health checks and monitoring[edit]

Health checks https://docs.gitlab.com/ee/user/admin_area/monitoring/health_check.html

GitLab provides a Prometheus and Grafana integration, GitLab export GitLab metrics to Prometheus monitoring system[8] and it is activated by default since version 9.0 in 2017.[9]


Components[edit]

GitLab editions[edit]

Activities[edit]

Basic[edit]

  1. Read GitLab CI/CD Pipeline Configuration Reference:.gitlab-ci.yml https://docs.gitlab.com/ee/ci/yaml/
  2. Create a backup from GitLab

Medium[edit]

  1. Read GitLab release notes/Changelog/versions
  2. Install GitLab using docker containers. Note: Gitlab uses PostgreSQL as database backend.[10]
  3. Review GitLab Automatic Let’s Encrypt Renewal
  4. Review GitLab project members permissions/privileges: Guest, Reporter, Developer, Maintainer, Owner, and external users.
  5. Generate new 2FA codes: GitLab: ssh [email protected] 2fa recovery codes

Advanced[edit]

  1. Review Ansible GitLab modules https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html
  2. Enable Gitlab container registry in: /etc/gitlab/gitlab.rb[11]
  3. Read https://about.gitlab.com/devops-tools/teamcity-vs-gitlab.html

GitLab and Kubernetes[edit]

Since April 2018, GitLab simplifies process of spinning up a new Kubernetes cluster in Google Kubernetes Engine (GKE) to deploy applications.[12]

See also: GitLab Kubernetes agent, gitlab-agent for Kubernetes

Related terms[edit]

See also[edit]

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.

Source: https://en.wikiversity.org/wiki/DevOps/GitLab

Advertising: