Outils pour utilisateurs

Outils du site


tech:notes_gitlab

Ceci est une ancienne révision du document !


Notes Gitlab

Voir :

Voir aussi :

  • Gitea
  • GitPrep
  • gitweb
  • ArgoCD
  • Tekton

Install via Docker

Docker

Docker-compose avec Gitlab runner :

https://medium.com/@rukeith/how-to-use-docker-to-build-a-self-host-gitlab-and-gitlab-runner-781981dc4d03

Configuration du runner

docker run --rm -ti --name gitlab-runner --add-host gitlab.local:172.17.0.1 \
 -v /srv/gitlab-runner/config:/etc/gitlab-runner \
 -v /var/run/docker.sock:/var/run/docker.sock \
 gitlab/gitlab-runner:alpine register

/srv/gitlab-runner/config/config.toml

concurrent = 1
check_interval = 0
 
[session_server]
  session_timeout = 1800
 
[[runners]]
  name = "89fa5654f698"
  url = "http://gitlab.local:8081/"
  token = "FKXKQ5Zg1KmwB9ssNVU9"
  executor = "docker"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]
  [runners.docker]
    tls_verify = false
    image = "alpine"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0

Gitlab créera de nouveau containers. Ils devrons etre capable de faire un git clone Pour configurer les flux réseaux, ajoutez clone_url = Dans notre exemple 172.18.0.1 est la passerelle par défaut des nouveaux containers crées.

/gitlab-runner/config/config.toml

[[runners]]
  #url = "http://gitlab.local:8081/"
  url = "http://gitlab.local/"
  clone_url = "http://172.18.0.1:8081"

docker-compose.yml

version: '3.7'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    restart: unless-stopped
    hostname: 'gitlab.local'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        #external_url 'http://gitlab.local'
        # Add any other gitlab.rb configuration here, each on its own line
    ports:
      - '127.0.0.1:8081:80'
      - '127.0.0.1:4443:443'
      - '127.0.0.1:2222:22'
    volumes:
      - "/srv/gitlab/config:/etc/gitlab"
      - "/srv/gitlab/logs:/var/log/gitlab"
      - "/srv/gitlab/data:/var/opt/gitlab"
    networks:
      - gitlab-net

  gitlab-runner:
    image: gitlab/gitlab-runner:alpine
    restart: unless-stopped
    depends_on:
      - gitlab
    volumes:
      - /srv/gitlab-runner/config:/etc/gitlab-runner
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - gitlab-net

networks:
  gitlab-net:
    name: gitlab-net

srv/gitlab/config/gitlab.rb

gitlab_rails['env'] = {
    'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'
}
 
gitaly['env'] = {
    'LD_PRELOAD' => '/opt/gitlab/embedded/lib/libjemalloc.so',
    'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000',
    'GITALY_COMMAND_SPAWN_MAX_PARALLEL' => '2'
}
 
gitlab_rails['gitlab_username_changing_enabled'] = true
gitlab_rails['trusted_proxies'] = ["172.16.0.0/12"]
gitlab_rails['omniauth_enabled'] = false
 
puma['worker_processes'] = 0
puma['exporter_enabled'] = false
 
sidekiq['max_concurrency'] = 10
sidekiq['metrics_enabled'] = false
postgresql['shared_buffers'] = "1024MB"
 
nginx['redirect_http_to_https'] = true
nginx['listen_port'] = 80
nginx['listen_https'] = false
 
prometheus['enable'] = false
alertmanager['enable'] = false
 
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
pgbouncer_exporter['enable'] = false
gitlab_exporter['enable'] = false
 
grafana['enable'] = false
grafana['metrics_enabled'] = false
 
#gitaly['enable'] = false
gitaly['ruby_max_rss'] = 200_000_000 # RSS threshold in bytes for triggering a gitaly-ruby restart
gitaly['concurrency'] = [
  {
    'rpc' => "/gitaly.SmartHTTPService/PostReceivePack",
    'max_per_repo' => 3
  }, {
    'rpc' => "/gitaly.SSHService/SSHUploadPack",
    'max_per_repo' => 3
  }
]
gitaly['cgroups_count'] = 2
gitaly['cgroups_hierarchy_root'] = 'gitaly'
gitaly['cgroups_memory_enabled'] = true
gitaly['cgroups_memory_limit'] = 500000
gitaly['cgroups_cpu_enabled'] = true
gitaly['cgroups_cpu_shares'] = 512

Lancement de Gitlab et de Gitlab-Runner

docker-compose -d up
docker exec -ti gitlab gitlab-ctl reconfigure
docker restart gitlab

Config WebUI

User : root

Password

docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

Open registration is enabled on your instance.

Admin Area - Settings - General - Sign-up restrictions

Sign-up enabled Require admin approval for new sign-ups


Le compte admin par defaut est “root”


Edit Profile - Account

Change username ———-

admin/application_settings/general Account and limit Gravatar enabled Disable

admin/application_settings/general User OAuth applications Allow users to register any application to use GitLab as an OAuth provider Disable

admin/application_settings/general Third-party offers Do not display offers from third parties Checked

admin/application_settings/metrics_and_profiling Metrics - Prometheus Enable health and performance metrics endpoint Disable

profile Private profile Don't display activity-related personal information on your profile


Admin Area - Overview - Users


Config Runners avec Docker

Admin Area - Overview - Runners

docker-compose exec gitlab-runner gitlab-runner register

Enter the GitLab instance URL (for example, https://gitlab.com/): http://gitlab/

Enter the registration token: 2_xtsj1yw4sacbWwG46y

Enter an executor: docker, docker-ssh, ssh, docker+machine, kubernetes, custom, parallels, shell, virtualbox, docker-ssh+machine: docker Enter the default Docker image (for example, ruby:2.6): alpine

Reconfig

docker-compose exec gitlab gitlab-ctl reconfigure
docker-compose exec gitlab gitlab-ctl restart

Pb

Erreur dans Gitlab Settings CI/DI - There was an error fetching the environments information.

Solution :

Settings, General, Visibility, project features, permissions in Pipelines (Build, test, and deploy your changes) select Only Project Members

Autres

Installation sur Ubuntu 16.04

https://packages.gitlab.com/gitlab/gitlab-ce/install

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
 
apt-get install gitlab-ce
--------------
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
---------------
sudo gitlab-ctl reconfigure

Optimisation

/etc/gitlab/gitlab.rb
##! **recommend value is 1/4 of total RAM, up to 14GB.**
# postgresql['shared_buffers'] = "256MB"
postgresql['shared_buffers'] = "4096MB"
gitlab-ctl restart postgresql

Les composants suivants seront automatiquement installés :

  • nginx
  • postgres
  • redis

A présent connectez vous sur le port 80 et définissez un mot de passe

tech/notes_gitlab.1762890475.txt.gz · Dernière modification : de Jean-Baptiste

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki