مهندس نرم افزار در اسنپ اکسپرس و سابقا در زرینپال
نصب گیتلب 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 مستقیماً بر روی سختافزار اجرا میشود
مطلبی دیگر از این انتشارات
الگوی معماری CQRS چیست؟
مطلبی دیگر از این انتشارات
الگوی Saga چیست؟