مهندس نرم افزار در اسنپ اکسپرس و سابقا در زرینپال
نصب گیتلب 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
مطلبی دیگر از این انتشارات
تفاوت گوروتینها با Thread وکمی بررسی Process
مطلبی دیگر از این انتشارات
اموزش مقدماتی تا پیشرفته گولنگ پروژه محور(قسمت اول)
مطلبی دیگر از این انتشارات
پیاده سازی دیتابیس اختصاصی بلاکچین با گولنگ