Это старая версия документа!


Gitlab

$ curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
$ sudo EXTERNAL_URL="https://gitlab.da57.ru" apt install gitlab-ce=16.9.1-ce.0

Контейнер

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"
$ systemctl stop gitlab-runner
$ systemctl stop gitlab-runsvdir
$ systemctl start gitlab-runsvdir
$ gitlab-ctl reconfigure

Контейнер

version: "3.7"

services:
  service:
  runner:
     image: 'gitlab/gitlab-runner:latest'
     container_name: gitlab-runner
     restart: always
     volumes:
       - 'gitlab-runner:/etc/gitlab-runner'
       - '/var/run/docker.sock:/var/run/docker.sock'
     networks: 
       localnetwork:
         ipv4_address: "192.168.1.5"

В контейнере

$ apt update && \
apt install ca-certificates curl gnupg lsb-release -y && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \
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 && \
apt update && \
apt install docker-ce-cli -y
  • ssh
  • parallels
  • kubernetes - Запуск runner / обработчика внутри машины с kubernetes (клиент)
  • docker-autoscaler
  • custom
  • virtualbox
  • docker - Запуск runner / обработчика внутри контейнера (ubuntu:latest)
  • docker-windows
  • docker+machine
  • instance
  • shell - Запуск runner / обработчика внутри машины с gitlab-runner
$ gitlab-rake gitlab:uploads:migrate:all
$ gitlab-rake db:migrate:status
$ gitlab-rake db:migrate
$ gitlab-ctl hup puma
$ gitlab-ctl restart sidekiq
$ gitlab-rake gitlab:gitlab_shell:check
$ gitlab-rake gitlab:gitaly:check
$ gitlab-rake gitlab:sidekiq:check
$ gitlab-rake gitlab:incoming_email:check
$ gitlab-rake gitlab:ldap:check
$ gitlab-rake gitlab:app:check
$ gitlab-rake gitlab:check
$ gitlab-rake cache:clear
$ gitlab-rake gitlab:check SANITIZE=true
$ gitlab-ctl restart
$ gitlab-psql -d gitlabhq_production
$ \l

pg_hba.conf

host    all             all             0.0.0.0/0		trust

postgresql.conf

listen_addresses = '127.0.0.1'