Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
develop:gitlab [2024/04/05 20:46] mirocowdevelop:gitlab [2025/02/01 04:08] (текущий) – [Документация] mirocow
Строка 2: Строка 2:
  
 ===== Установка ===== ===== Установка =====
 +
 +
 +==== Установка на хост машине ====
  
 <code bash> <code bash>
Строка 8: Строка 11:
 </code> </code>
  
-===== Заголовок =====+==== Установка в контейнере ====
  
 +Контейнер
 +<code yaml>
 +version: "3.7"
 +
 +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>
 +
 +==== Установка Runners ====
 +
 +Контейнер
 +<code yaml>
 +version: "3.7"
 +
 +services:
 +  service:
 +  runner:
 +     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>
 +
 +  * ssh
 +  * parallels
 +  * [[kubernetes|kubernetes]] - Запуск runner / обработчика внутри машины с kubernetes (клиент)
 +  * docker-autoscaler
 +  * custom
 +  * virtualbox
 +  * [[docker|docker]] - Запуск runner / обработчика внутри контейнера (ubuntu:latest)
 +  * docker-windows
 +  * docker+machine
 +  * instance
 +  * shell - Запуск runner / обработчика внутри машины с gitlab-runner
 +
 +===== Обслужинание =====
 +
 +<code bash>
 $ systemctl stop gitlab-runner $ systemctl stop gitlab-runner
 $ systemctl stop gitlab-runsvdir $ systemctl stop gitlab-runsvdir
 $ systemctl start gitlab-runsvdir $ systemctl start gitlab-runsvdir
 $ gitlab-ctl reconfigure $ gitlab-ctl reconfigure
 +</code>
  
-===== Migrate all =====+==== Migrate all ====
  
 +В контейнере
 <code bash> <code bash>
 $ gitlab-rake gitlab:uploads:migrate:all $ gitlab-rake gitlab:uploads:migrate:all
Строка 25: Строка 125:
 </code> </code>
  
-===== Check / Проверка / Инструменты =====+==== Check / Проверка / Инструменты ====
  
 +В контейнере
 <code bash> <code bash>
 $ gitlab-rake gitlab:gitlab_shell:check $ gitlab-rake gitlab:gitlab_shell:check
Строка 40: Строка 141:
 </code> </code>
  
-===== PostgresQL =====+==== PostgresQL ====
  
 +В контейнере
 <code bash> <code bash>
 $ gitlab-psql -d gitlabhq_production $ gitlab-psql -d gitlabhq_production
Строка 56: Строка 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]]
 +
 +