Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
develop:gitlab [2025/01/05 19:08] mirocowdevelop:gitlab [2025/02/01 04:08] (текущий) – [Документация] mirocow
Строка 2: Строка 2:
  
 ===== Установка ===== ===== Установка =====
 +
 +
 +==== Установка на хост машине ====
  
 <code bash> <code bash>
Строка 8: Строка 11:
 </code> </code>
  
-===== Заголовок =====+==== Установка в контейнере ====
  
-<code bash+Контейнер 
-$ systemctl stop gitlab-runner +<code yaml
-$ systemctl stop gitlab-runsvdir +version: "3.7" 
-$ systemctl start gitlab-runsvdir + 
-gitlab-ctl reconfigure+services: 
 +  service: 
 + 
 +    # Old: gitlab/gitlab-ce:17.3.7-ce.0 
 +    image: gitlab/gitlab-ce:17.7.0-ce.0 
 +    restart: always 
 +    environment: 
 +      TZ: 'Europe/Moscow' 
 +      GITLAB_OMNIBUS_CONFIG:
 +          external_url 'http://192.168.1.2' 
 +          registry_external_url 'http://192.168.1.2' 
 +          gitlab_rails['backup_keep_time'] = 172800 
 +          postgresql['enable'] = true 
 +          postgresql['port'] = 5432 
 +          postgresql['listen_address'] = "*" 
 +          postgresql['md5_auth_cidr_addresses'] = ['127.0.0.1/32','0.0.0.0/0','::1/128'
 +          postgresql['trust_auth_cidr_addresses'] = ['127.0.0.1/32','::1/128'
 +          gitlab_rails['db_adapter'] = 'postgresql' 
 +          gitlab_rails['db_encoding'] = 'unicode' 
 +          gitlab_rails['db_database'] = 'gitlabhq_production' 
 +          gitlab_rails['db_host'] = '127.0.0.1' 
 +          gitlab_rails['db_port'] = '5432' 
 +          gitlab_rails['db_username'] = 'gitlab' # Database owner. 
 +          gitlab_rails['db_password'] = 'gitlab' # Database owner's password." 
 +    volumes: 
 +      "gitlab-etc:/etc/gitlab" 
 +      - "gitlab-opt:/opt/gitlab" 
 +      - "gitlab-var:/var/opt/gitlab" 
 +      - "gitlab-log:/var/log/gitlab" 
 +    networks:  
 +      localnetwork: 
 +        ipv4_address: "192.168.1.2" 
 + 
 +    ports: 
 +      - '192.168.1.2:5432:5432' 
 + 
 +volumes: 
 +  gitlab-etc: {} 
 +  gitlab-opt: {} 
 +  gitlab-var: {} 
 +  gitlab-log: {} 
 +  gitlab-runner: {} 
 + 
 +networks: 
 +  localnetwork: 
 +    name: localnetwork 
 +    driver: ipvlan 
 +    driver_opts: 
 +      parent: eno1 
 +      ipvlan_mode: l3 
 +    ipam: 
 +      config: 
 +        - subnet: "192.168.1.0/24" 
 +          ip_range: "192.168.1.1/24" 
 +          gateway: "192.168.1.1"
 </code> </code>
  
-===== Установка Runners =====+==== Установка Runners ====
  
-<code bash+Контейнер 
-$ apt update && \ +<code yaml
-apt install ca-certificates curl gnupg lsb-release -y && \ +version: "3.7" 
-mkdir -p /etc/apt/keyrings && \ + 
-curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \ +services: 
-echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable| tee /etc/apt/sources.list.d/docker.list > /dev/null && \ +  service: 
-apt update && \ +  runner: 
-apt install docker-ce-cli -y+     image'gitlab/gitlab-runner:latest' 
 +     container_name: gitlab-runner 
 +     restart: always 
 +     volumes: 
 +       'gitlab-runner:/etc/gitlab-runner' 
 +     networks:  
 +       localnetwork: 
 +         ipv4_address: "192.168.1.5"
 </code> </code>
  
   * ssh   * ssh
   * parallels   * parallels
-  * kubernetes+  * [[kubernetes|kubernetes]] - Запуск runner / обработчика внутри машины с kubernetes (клиент)
   * docker-autoscaler   * docker-autoscaler
   * custom   * custom
   * virtualbox   * virtualbox
-  * docker - Запуск runner / обработчика внутри контейнера (ubuntu:latest)+  * [[docker|docker]] - Запуск runner / обработчика внутри контейнера (ubuntu:latest)
   * docker-windows   * docker-windows
   * docker+machine   * docker+machine
Строка 41: Строка 105:
   * shell - Запуск runner / обработчика внутри машины с gitlab-runner   * shell - Запуск runner / обработчика внутри машины с gitlab-runner
  
-===== Migrate all =====+===== Обслужинание =====
  
 +<code bash>
 +$ systemctl stop gitlab-runner
 +$ systemctl stop gitlab-runsvdir
 +$ systemctl start gitlab-runsvdir
 +$ gitlab-ctl reconfigure
 +</code>
 +
 +==== Migrate all ====
 +
 +В контейнере
 <code bash> <code bash>
 $ gitlab-rake gitlab:uploads:migrate:all $ gitlab-rake gitlab:uploads:migrate:all
Строка 51: Строка 125:
 </code> </code>
  
-===== Check / Проверка / Инструменты =====+==== Check / Проверка / Инструменты ====
  
 +В контейнере
 <code bash> <code bash>
 $ gitlab-rake gitlab:gitlab_shell:check $ gitlab-rake gitlab:gitlab_shell:check
Строка 66: Строка 141:
 </code> </code>
  
-===== PostgresQL =====+==== PostgresQL ====
  
 +В контейнере
 <code bash> <code bash>
 $ gitlab-psql -d gitlabhq_production $ gitlab-psql -d gitlabhq_production
Строка 82: Строка 158:
 listen_addresses = '127.0.0.1' listen_addresses = '127.0.0.1'
 </code> </code>
 +
 +===== Ошибки =====
 +
 +==== ci/cd ====
 +
 +<code sql>
 +- Clear project tokens
 +UPDATE projects SET runners_token = null, runners_token_encrypted = null;
 +-- Clear group tokens
 +UPDATE namespaces SET runners_token = null, runners_token_encrypted = null;
 +-- Clear instance tokens
 +UPDATE application_settings SET runners_registration_token_encrypted = null;
 +-- Clear key used for JWT authentication
 +-- This may break the $CI_JWT_TOKEN job variable:
 +-- https://gitlab.com/gitlab-org/gitlab/-/issues/325965
 +UPDATE application_settings SET encrypted_ci_jwt_signing_key = null;
 +-- Clear runner tokens
 +UPDATE ci_runners SET token = null, token_encrypted = null;
 +-- 
 +UPDATE ci_builds SET token_encrypted = NULL WHERE status in ('created', 'pending');
 +</code>
 +
 +===== Документация =====
 +
 +  * [[https://docs.gitlab.com/ee/administration/package_information/postgresql_versions.html|Какая версия PostgreSQL подходит к версии Gitlab]]
 +
 +