ساخت سرور گیت – با استفاده از ssh

خانه » نوشته ها » ساخت سرور گیت – با استفاده از ssh

ساخت سرور گیت – با استفاده از ssh

برای هر گونه ارتباط و همکاری در پروژه های نرم افزار احتیاج به گیت سرور (git server) مشاهده می گردد.

روشهای مختلفی برای پیاده سازی گیت سرور وجود دارد.

یکی از این روش های پروتکول ها استفاده از ssh است.

برای این منظور ابتدا یک نسخه ubuntu را نصب می کنیم. در حال حاضر من نسخه ۱۶٫۰۴ را نصب کرده ام.

قبل از شروع هر کاری دو دستور زیر را جهت بروز شدن سیستمتان وارد کنید.

sudo apt-get update -y

sudo apt-get upgrade -y

با این دو دستور پکیج های موجود در سیستم شما به آخرین نسخه تغییر میکنند.

برای استفاده از این دو دستور نیاز است تا به اینترنت دسترسی داشته باشید. یا این که آخرین نسخه Repository آن را به صورت آفلاین غیر فعال کنید.

۱- برای شروع درستور زیر را وارد کنید تا پکیج openssh-server را برای شما نصب کند.

sudo apt-get install openssh-server

کاربری به نام rightcoders با استفاده از دستور زیر می سازیم.

sudo adduser rightcoders

ابتدا پوشه ای به نام git برای خود در مسیر opt میسازیم.

و درون آن پوشه rightcoders.git را برای پروژه خود می سازیم.

mkdir -p /opt/git

mkdir -p /opt/git/rightcoders.dev

وارد پوشه مور نظری میگردیم و دستور زیر را وارد می کنیم.

cd /opt/git/rightcoders.git

sudo git init –bare –shared

برای اتصال به سرور ریپازیتوری راه دور خود را در کلاینت با ابزار کلاینتی گیت clone میکنیم.

git clone rightcoders@Server-IP-Address:/opt/git/rightcoders.git

سرور شما همزمان با ساخت کاربر یک گروه به همان نام می سازد.

ابتدا باید دسترسی به پوشه پروژه را به کاربرمان بدهیم. برای این کار دستور زیر را وارد می کنیم.

sudo chgrp -R rightcoders rightcoders.git

بعد از -R مقدار نام گروه و در نهایت نام پروژه یا همان پروژه را وارد می کنیم.

دقت کنید باید در مسیر پروژه باشیم تا بتوانیم این دستور را وارد کنیم. در غیر این صورت باید آدرس دقیق پوشه پروژه را وارد کنیم.

در صورتی که میخواهیم گروهی جدید برای این منظور بسازیم به جای دستور بالا دستورات زیر ار وارد می کنیم.

sudo addgroup software

sudo usermod -a -G software rightcoders

sudo chgrp -R software rightcoders.git

در اینجا گروهی به نام software ساختیم و کاربر rightcoders را در آن عضو کردیم و در نهایت دسترسی به پوشه rightcoders.git را به آن دادیم.

دقت کنید در صورتی که دسترسی به پوشه مورد نظر ایجاد نشود با خطا مواجه خواهید شد.

برای تست این سرور میتوانید پروژه را با دستور زیر روی کلاینت خود clone کنید.

git clone rightcoders@Server-IP-Address:/opt/git/rightcoders.git

 

اگرمیخواهید نام پوشه متفاوت باشد دستور زیر را وارد کنید.

git clone rightcoders@Server-IP-Address:/opt/git/rightcoders.git new-name

پس از آن وارد پوشه مربوطه شوید و با وارد کردن دستورات زیر فایلهای زیر را درون پوشه خود بسازید.

mkdir test1 test2 test3

echo “This is my first repository” > test1/repo1

echo “This is my second repository” > test2/repo2

echo “This is my third repository” > test3/repo3

دو دستور زیر فایل ها و پوشه های اضافه شده را وارد گیت میکنند و پس از آن یک کامیت (commit) برای پروژه ما با متن توضیحات اضافه میکند.

git add . git commit -a -m “Add files and directoires”

دستور زیر آنها را به سرور منتقل میکند.

git push origin master

برای دیدن تغییرات در سرور یک بار دیگر پروژه خود را از سرور clone کنید تا تغییرات را مشاهده کنید.

 

توسط | ۱۳۹۷-۲-۲۹ ۲۳:۱۷:۳۷ +۰۰:۰۰ اردیبهشت ۲۱ام, ۱۳۹۷|git, نوشته|۲ دیدگاه ها

درباره نویسنده:

ساکن شیراز و علاقه مند به یادگیری و اشتراک مطالب هستم. دارای مدرک کارشناسی ارشد از دانشگاه شیراز سرگرمی: خواندن کتاب، گوش دادن به پادکست و ورزش رو در اوقات فراغت انتخاب می کنم.

۲ Comments

  1. روزبه مهر ۹, ۱۳۹۷ در ۶:۰۵ ب.ظ - پاسخ دادن

    سلام وقت بخیر ..ببخشید من یه سوالی دارم ازتون….اگر من بخوام یه سرور مانند گیت هاب داشته باشم و بعد مخزن هامو روی اون داشته باشم باید چکار کنم؟ منظورم اینه که همه چیز رو روی یک سرور شخصی لازم دارم

    • خسرو نظری مهر ۱۴, ۱۳۹۷ در ۱۲:۴۰ ب.ظ - پاسخ دادن

      خود گیت سرور قابل پیاده سازی بر روی لینوکس هست. میتونید راه اندازیش کنید. بعد از آن شما این توانایی رو دارید تا توسط ابزار هایی مثل git bash یا phpstorm روی پروژه هایی که داخل سرور git ایجاد کردید پروژه رو push کنید، البته شما اگر می خواید مثل github ابزار frontend داشته باشید اون رو میتونید طراحی یا پیاده سازی کنید. ولی خود سرورش رایگان بر روی repository های لینوکس موجود هستش و فقط باید زحمت نصب و کانفیگش رو بکشید.

      پیروز و سربلند باشید

ثبت ديدگاه