Difference between revisions of "GitLab"
(67 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 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> |
− | *[[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 18: | Line 18: | ||
== GitLab Software == | == GitLab Software == | ||
=== 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> | ||
− | ** <code>gitlab-ctl reconfigure</code> | + | ** <code>[[gitlab-ctl reconfigure]]</code> |
=== 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> |
− | * | + | * 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/ | ||
+ | |||
+ | === [[GitLab logs]] === | ||
+ | * <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 == | ||
+ | * [[Sidekiq]] job scheduler | ||
+ | |||
+ | == [[GitLab editions]] == | ||
==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 37: | 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 45: | 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}} | ||
− | * {{ | + | * {{VCS}} |
− | |||
− | [[Category:Cloud computing | + | [[Category:Cloud computing]] |
− | |||
[[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:
- Audit events[4]
- GitLab container registry[5]
- ElasticSearch and Sentry integration [6] (not installed with GitLab)
- read-only mirrors called GitLab Geo (Premium)
- SAML 2.0 Service Provider (SP) capabilities used for Web Browser Single Sign-On (SSO)
- Project members permissions: Guest, Reporter, Developer, Maintainer, Owner [7]
An integrates with many platforms such as Salesforce DX and Snowplow.
Contents
GitLab Software[edit]
Binaries[edit]
gitlab-ctl
gitlab-ctl status
gitlab-ctl tail
gitlab-ctl pg-password-md5 gitlab
gitlab-ctl reconfigure
Configuration files[edit]
- Default configuration file:
/etc/gitlab/gitlab.rb
- Secrets:
/etc/gitlab/gitlab-secrets.json
- Default data directory:
/var/opt/gitlab/git-data/
- Default backup directory:
/var/opt/gitlab/backup/
- GitLab CI/CD pipelines:
.gitlab-ci.yml
https://docs.gitlab.com/ee/ci/yaml/
GitLab logs[edit]
/var/log/gitlab/gitlab-rails/production.log
application.log
andapplication_json.log
(Since GitLab 12.7)
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]
- Sidekiq job scheduler
GitLab editions[edit]
Activities[edit]
Basic[edit]
- Read GitLab CI/CD Pipeline Configuration Reference:
.gitlab-ci.yml
https://docs.gitlab.com/ee/ci/yaml/ - Create a backup from GitLab
Medium[edit]
- Read GitLab release notes/Changelog/versions
- Install GitLab using docker containers. Note: Gitlab uses PostgreSQL as database backend.[10]
- Review GitLab Automatic Let’s Encrypt Renewal
- Review GitLab project members permissions/privileges:
Guest, Reporter, Developer, Maintainer, Owner
, andexternal users
. - Generate new 2FA codes: GitLab: ssh [email protected] 2fa recovery codes
Advanced[edit]
- Review Ansible GitLab modules https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html
- Enable Gitlab container registry in:
/etc/gitlab/gitlab.rb
[11] - 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]
- 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[edit]
glab [ glab auth login | issue | list | ci | repo ]
,version, glab --help
- GitLab: Install GitLab, Upgrade GitLab Gitlab runner (changelog),
gitlab.rb, .gitlab/, gitlab-ci.yml
,gitlab-ctl, gitlab-rake, gitlab-backup, gitlab-rails
, GitLab editions, GitLab Security Dashboards, GitLab environments, GitLab environment variables, Auto DevOps, permissions, GitLab Pages,gitlab-rails
, GitLab scheduled pipelines, GitLab logs, GitLab changelog , GitLab Release CLI, GitLab Omnibus, GitLab Advanced Search, GitLab container registry, GitLab infrastructure registry - VCS: GitHub, GitLab, AWS CodeCommit, Bitbucket, Assembla, GitKraken, Azure DevOps
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
- ↑ https://docs.gitlab.com/runner/
- ↑ https://docs.gitlab.com/runner/
- ↑ https://docs.gitlab.com/runner/monitoring/README.html
- ↑ https://docs.gitlab.com/ee/administration/audit_events.html
- ↑ https://docs.gitlab.com/ee/user/packages/container_registry/
- ↑ https://docs.gitlab.com/ee/integration/elasticsearch.html
- ↑ https://docs.gitlab.com/ee/user/permissions.html
- ↑ "GitLab Prometheus metrics". Retrieved December 26, 2018.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
- ↑ https://about.gitlab.com/2017/03/22/gitlab-9-0-released/
- ↑ https://docs.gitlab.com/omnibus/settings/database.html
- ↑ https://docs.gitlab.com/ee/administration/packages/container_registry.html#container-registry-storage-driver
- ↑ https://about.gitlab.com/2018/04/05/gke-gitlab->in Google Kubernetes Engine (GKE) integration/
Advertising: