Checklist

GitLab პროექტის შექმნის ინსტრუქცია

დირექტორია → ფაილები → Git → SSH → Project → Push → Nginx/Docker

1) ტერმინალი გახსენი და შექმენი დირექტორია

mkdir -p /home/vito/vito-local/
cd /home/vito/vito-local/

2) შექმენი საჭირო ფაილები (ჯერ ცარიელებიც შეიძლება)

touch index.html style.css script.js nginx.conf Dockerfile .gitlab-ci.yml
index.html— მთავარი ვებ-გვერდი
style.css— ვიზუალური სტილები
script.js— JavaScript კოდი
nginx.conf— ვებ-სერვერის კონფიგურაცია
Dockerfile— კონტეინერის build ინსტრუქცია
.gitlab-ci.yml— CI/CD პროცესის აღწერა

3) Git ინიციალიზაცია და პირველი commit

git init
git add .
git commit -m "First commit"
git branch -m master main

4) GitLab-ზე რეგისტრაცია

შედი GitLab-ზე და შექმენი ანგარიში.

5) SSH Key გენერაცია და GitLab-ზე დამატება

5.1) Key გენერაცია ტერმინალში

your_email@example.com ჩაანაცვლე იმ მეილით, რომლითაც GitLab-ზე დარეგისტრირდი.

ssh-keygen -t ed25519 -C "your_email@example.com"
cat ~/.ssh/id_ed25519.pub

გამოსული ტექსტი არის Public Key — დააკოპირე მთლიანად.

5.2) GitLab-ზე Key-ის ჩასმა

  1. დააჭირე Avatar
  2. დააჭირე Preferences
  3. მარცხენა მხარეს: AccessSSH Keys
  4. დააჭირე Add new key
  5. Title-ში ჩაწერე რამე
  6. დააჭირე Add key

5.3) კავშირის შემოწმება

ssh -T git@gitlab.com

თუ prompt დაგხვდა, აკრიფე yes.

5.4) თუ SSH არ მუშაობს (Fallback)

ფაილში ~/.ssh/config ჩაწერე:

Host gitlab.com
  Hostname altssh.gitlab.com
  Port 443
  User git

6) GitLab-ზე ახალი პროექტის შექმნა (Blank project)

  1. გადადი მთავარ გვერდზე
  2. მარცხენა სვეტში გახსენი Projects
  3. დააჭირე New project
  4. აირჩიე Create blank project
  5. Project name-ში დაარქვი სახელი
  6. Pick a group or namespace-ში აირჩიე შენი group ან username
  7. მოხსენი Initialize repository with a README
  8. დააჭირე Create project

7) ლოკალური Git config (შეცვალე შენი სახელითა და მეილით)

git config --local user.name "Mamuka Lagvilava"
git config --local user.email "mamuka921@gmail.com"

8) Push an existing folder (GitLab-ის ინსტრუქციას მიჰყევი)

Project-ის გვერდზე ნახავ ბლოკს Push an existing folder. მაგალითად:

git init --initial-branch=main --object-format=sha1
git remote add origin git@gitlab.com:mamuka-group/sad.git
git add .
git commit -m "Initial commit"
git push --set-upstream origin main

9) კონფიგურაციები: nginx.conf, Dockerfile, .gitlab-ci.yml

9.1) nginx.conf

server {
    listen 80; # სერვერი უსმენს 80 პორტს (HTTP) 
    server_name mamuka.local; # დომენის სახელი 

    location / {
        root /usr/share/nginx/html; # აქ ინახება ვებ-ფაილები
        index index.html; # ძირითადი ფაილი
        
        # ეძებს ფაილს, თუ ვერ იპოვა - გადამისამართებს index.html-ზე 
        try_files $uri $uri/ /index.html; 
    }
}

9.2) Dockerfile

FROM nginx:alpine

COPY ./nginx.conf /etc/nginx/conf.d/default.conf

COPY ./index.html /usr/share/nginx/html/
COPY ./style.css /usr/share/nginx/html/
COPY ./script.js /usr/share/nginx/html/

9.3) .gitlab-ci.yml

# გაგრძელება იქნება…