GitLab – веб-инструмент жизненного цикла DevOps с открытым исходным кодом, представляющий систему управления репозиториями кода для Git с собственной вики, системой отслеживания ошибок, CI/CD пайплайном и другими функциями.

Основное:

Официальный сайт – https://about.gitlab.com/

Docker – https://hub.docker.com/r/gitlab/gitlab-ce

Исходный код – https://gitlab.com/gitlab-org/gitlab

Минимальные системные требование:

Ядер4
Оперативной памяти4ГБ

Использование:

Стандартный логинroot
Стандартный парольвы настраиваете при первом запуске
Стандартный порт80
Конфигурация/etc/gitlab/gitlab.rb
Конфигурация Docker/Docker/Gitlab/config/gitlab.rb

Установка Docker

Ubuntu

1)
`#Install docker`       sudo apt install docker.io -y                                                                               
`#Start docker`         sudo systemctl start docker                                                                                 
`#Autostart docker`     sudo systemctl enable docker                                                                                

CentOS

1)
`#Install docker`       yum install docker -y                                                                                       
`#Start docker`         systemctl start docker                                                                                      
`#Autostart docker`     systemctl enable docker                                                                                                                                           

Fedora

1)
`#Install docker`       sudo dnf install docker -y                                                                                  
`#Start docker`         sudo systemctl start docker                                                                                 
`#Autostart docker`     sudo systemctl enable docker                                                                                  

Скачать GitLab

2) sudo docker pull gitlab/gitlab-ce:13.7.0-rc3.ce.0 `#Download/update image`

Установка GitLab на Ubuntu/CentOS/Fedora

Используя сеть docker

3.1) sudo docker network create `#Docker network for made static ip of container` \
  --driver=bridge \
  --subnet 10.1.0.0/16 \
  --ip-range 10.1.1.0/24 \
  --gateway=10.1.0.1 \
  Docker_Network

или в одной строке

3.1) sudo docker network create --driver=bridge --subnet 10.1.0.0/16 --ip-range 10.1.1.0/24 --gateway=10.1.0.1 Docker_Network
3.2) docker run -d --name=GitLab --net Docker_Network --ip=10.1.1.6 -e TZ=Europe/Moscow --restart=always \
  --memory="4g" --cpus="2" \
  -p 50:22 -p 751:443 -p 750:80 \
  --volume /Docker/Gitlab/config:/etc/gitlab --volume /Docker/Gitlab/logs:/var/log/gitlab --volume /Docker/Gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:13.7.0-rc3.ce.0

или в одной строке

docker run -d --name=GitLab --hostname GitLab --net Docker_Network --ip=10.1.1.6 -e TZ=Europe/Moscow --restart=always --memory="4g" --cpus="2" -p 50:22 -p 751:443 -p 750:80 --volume /Docker/Gitlab/config:/etc/gitlab --volume /Docker/Gitlab/logs:/var/log/gitlab --volume /Docker/Gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:13.7.0-rc3.ce.03.2) 

Настройки:

SMTP

Документация – https://docs.gitlab.com/omnibus/settings/smtp.html

Примеры:

Яндекс

gitlab_rails[‘smtp_enable’] = true<br>
gitlab_rails[‘smtp_address’] = “smtp.yandex.ru”<br>
gitlab_rails[‘smtp_port’] = 465<br>
gitlab_rails[‘smtp_user_name’] = “mymail”<br>
gitlab_rails[‘smtp_password’] = “password”<br>
gitlab_rails[‘smtp_domain’] = “yandex.ru”<br>
gitlab_rails[‘gitlab_email_from’] = ‘[email protected]'<br>
gitlab_rails[‘smtp_authentication’] = “login”<br>
gitlab_rails[‘smtp_tls’] = true<br>
gitlab_rails[‘smtp_enable_starttls_auto’] = true<br>
gitlab_rails[‘smtp_openssl_verify_mode’] = ‘peer'<br>

Hestia-CP

gitlab_rails[‘smtp_enable’] = true<br>
gitlab_rails[‘smtp_address’] = “mail.site.com”<br>
gitlab_rails[‘smtp_port’] = 465<br>
gitlab_rails[‘smtp_user_name’] = “mymail”<br>
gitlab_rails[‘smtp_password’] = “password”<br>
gitlab_rails[‘smtp_domain’] = “mail.site.com”<br>
gitlab_rails[‘gitlab_email_from’] = ‘[email protected]'<br>
gitlab_rails[‘smtp_authentication’] = “login”<br>
gitlab_rails[‘smtp_tls’] = true<br>
gitlab_rails[‘smtp_enable_starttls_auto’] = true<br>
gitlab_rails[‘smtp_openssl_verify_mode’] = ‘peer'<br>

Сайты

Документация – https://docs.gitlab.com/ee/administration/pages/

pages_external_url “https://pages.git.site.com/”
gitlab_pages[‘enable’] = true

GitLab Runner

Конфигурация /etc/gitlab-runner/config.toml
Конфигурация Docker/Docker/gitlab-runner/config/config.toml

 

Документация – https://docs.gitlab.com/runner/install/

  1. Узнать токен https://gitlab.site.com/admin/runners

Docker

Alpine

 docker run -d --name Gitlab-Runner_Alpine --restart always \
 --network host  \
 -v /Docker/Gitlab/Runner/Alpine/config:/etc/gitlab-runner \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /Docker/Gitlab/Runner/ssl/rootCA.crt:/etc/gitlab-runner/certs/ca.crt \
 gitlab/gitlab-runner:v13.7.0

Docker

 docker run -d --privileged --name Gitlab-Runner_Docker --restart always \
 --network host  \
 -v /Docker/Gitlab/Runner/Docker/config:/etc/gitlab-runner \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /Docker/Gitlab/Runner/ssl/rootCA.crt:/etc/gitlab-runner/certs/ca.crt \
 gitlab/gitlab-runner:v13.7.0

Ubuntu

 docker run -d --name Gitlab-Runner_Ubuntu --restart always \
 --network host  \
 -v /Docker/Gitlab/Runner/Ubuntu/config:/etc/gitlab-runner \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /Docker/Gitlab/Runner/ssl/rootCA.crt:/etc/gitlab-runner/certs/ca.crt \
 gitlab/gitlab-runner:v13.7.0

Shell

 docker run -d --name Gitlab-Runner_Shell --restart always \
 --network host  \
 -v /Docker/Gitlab/Runner/Shell/config:/etc/gitlab-runner \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /Docker/Gitlab/Runner/ssl/rootCA.crt:/etc/gitlab-runner/certs/ca.crt \
 gitlab/gitlab-runner:v13.7.0

Manual

Репозиторий – https://gitlab-runner-downloads.s3.amazonaws.com/latest/index.html

 curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/v13.7.0/deb/gitlab-runner_amd64.deb && dpkg -i gitlab-runner_amd64.deb curl -LJO https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_amd64.deb && dpkg -i gitlab-runner_amd64.deb 

Подключение

Документация – https://docs.gitlab.com/runner/register/

gitlab-runner register

Alpine

 docker exec -it Gitlab-Runner_Alpine gitlab-runner register \
--non-interactive \
--url "https://git.site.com/" \
--registration-token "TOKEN" \
--executor "docker" \
--docker-image alpine:latest \
--docker-network-mode host \
--description "Gitlab-Runner_Alpine" \
--tag-list "docker,alpine" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"

Docker

 docker exec -it Gitlab-Runner_Docker gitlab-runner register \
--non-interactive \
--url "https://git.site.com/" \
--registration-token "TOKEN" \
--executor "docker" \
--docker-privileged \
--docker-image docker:latest \
--docker-network-mode host \
--description "Gitlab-Runner_Docker" \
--tag-list "docker" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"

Ubuntu

 docker exec -it Gitlab-Runner_Ubuntu gitlab-runner register \
--non-interactive \
--url "https://git.site.com/" \
--registration-token "TOKEN" \
--executor "docker" \
--docker-image ubuntu:bionic \
--docker-network-mode host \
--description "Gitlab-Runner_Ubuntu" \
--tag-list "docker,ubuntu" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"

Shell

 docker exec -it Gitlab-Runner_Shell gitlab-runner register \
--non-interactive \
--url "https://git.site.com/" \
--registration-token "TOKEN" \
--executor "docker" \
--docker-image mcr.microsoft.com/powershell \
--docker-network-mode host \
--description "Gitlab-Runner_Shell" \
--tag-list "docker, shell" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"

SHH

 gitlab-runner register \
--non-interactive \
--url "https://git.site.com/" \
--registration-token "TOKEN" \
--executor "ssh" \
--ssh-host "192.168.1.36" \
--ssh-port "22" \
--ssh-user "root" \
--ssh-password "password" \
--description "Gitlab-Runner_Linux_Ubuntu" \
--tag-list "docker,linux_ubuntu" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"

SHH (identity file)

gitlab-runner register \
--non-interactive \
--url "https://git.site.com/" \
--registration-token "TOKEN" \
--executor "ssh" \
--ssh-host "192.168.1.36" \
--ssh-port "22" \
--ssh-user "root" \
--ssh-identity_file "/etc/gitlab-runner/file"
--description "Gitlab-Runner_Linux_Ubuntu" \
--tag-list "docker,linux_ubuntu" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"

GitLab CI/CD

Документация – https://docs.gitlab.com/ee/ci/examples/README.html

GitLab Чистка

Переустановка

docker container rm --force GitLab && docker run -d --name=GitLab --hostname GitLab --net Docker_Network --ip=10.1.1.6 -e TZ=Europe/Moscow --restart=always --memory="4g" --cpus="2" -p 50:22 -p 751:443 -p 750:80 --volume /Docker/Gitlab/config:/etc/gitlab --volume /Docker/Gitlab/logs:/var/log/gitlab --volume /Docker/Gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:13.7.0-rc3.ce.03.2) 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x

Pin It on Pinterest

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: