مهندس نرم افزار در اسنپ اکسپرس و سابقا در زرینپال
نصب گیتلب gitlab اختصاصی روی سرور با سیستم عامل اوبونتو
برای آموزش دوره مایکروسرویس و اسقرار روی کوبرننیز نیاز به داشتن گیت لب اختصاصی روی سرور خودم داشتم تا عملیات ci/cd و ... رو انجام بدم. در نتیجه یه سرور با ۲ هسته cpu و ۸ گیگ رم تهیه کردم. البته خب سرور جوری هستش که بشه افزایش داد میزان مورد نیازمون ریسورس رو.
اول کاری که باید بکنیم قطعا اپدیت سرور هستش و بعد نصب داکر و داکر کامپوز
sudo apt update
sudo apt upgrade -y
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce -y
sudo systemctl status docker
مرحله بعد نصب داکر کامپوز هستش :
VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d\" -f4)
sudo curl -L "https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
مرحله بعد با دستور زیر میایم و یوزر docker رو به گروه sudo اضافه میکنیم که به شما امکان اجرای دستورات Docker را بدون استفاده از sudo میدهد.
sudo usermod -aG docker $USER
و سپس یه سری دایرکتوری باید ایجاد کنیم برای کانفیگ گیت لب
sudo mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data /srv/registry/data
حالا میام یه دایرکتور واسه داکر کامپوزی که قرار اجرا بشه ایجاد میکنم و فایل داکر کامپوز رو هم ایجادش میکنم.
mkdir /usr/local/bin/gitlab
cd /usr/local/bin/gitlab
sudo nano docker-compose.yml
خب حالا توی این فایل باید بیام این محتوا رو داخل فایل داکر کامپوز رو قرار بدم
version: '3'
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
container_name: gitlab
restart: always
hostname: 'gitlab.uncodev.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.uncodev.com'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
nginx['redirect_http_to_https'] = true
# Container Registry configuration
registry_external_url 'https://registry.uncodev.com'
gitlab_rails['registry_enabled'] = true
registry['enable'] = true
registry['username'] = 'registry'
registry['group'] = 'registry'
registry['dir'] = '/var/opt/gitlab/registry '
registry['registry_http_addr'] = '0.0.0.0:6060'
registry['debug_addr'] = '0.0.0.0:6061'
registry['log_directory'] = '/var/log/gitlab/registry'
registry['log_level'] = 'info'
registry_nginx['enable'] = false
ports:
- '443:443'
- '2222:22'
- '6060:6060'
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
networks:
default:
external:
name: gitlab_network
حالا با دستور زیر میایم و شبکه gitlab_network رو ایجاد میکنیم
docker network create gitlab_network
و در نهایت با اجرا دستور زیر داکر کامپوز رو اجرا میکنیم تاااا گیت لب روی سرور ما بالا بیاااااد .
docker-compose up -d
وقتی این دستور رو اجرا میکنید و کارش تموم میشه بازم باید چند دقیقه صبر کنید تا گیت لب اماده بشه و بتونید بهش دسترسی پیدا کنید، تو فیلیمی که تا چند روز دیگه منتشر میکنم کاملتر توضیح میدم خواهم داد.
یوزرنیم دیفالت گیت لب root هستش و پسورد رو هم با دستور زیر میتونید بگیریدش
docker-compose exec gitlab cat /etc/gitlab/initial_root_password
مطلبی دیگر از این انتشارات
دوره آموزشی گولنگ (Golang) از مقدماتی تا پیشرفته: ورود به بازار کار
مطلبی دیگر از این انتشارات
تفاوت دیتابیسهای MySql,PostgreSQL,Cassandra,Mongo
مطلبی دیگر از این انتشارات
الگوی معماری CQRS چیست؟