গিট হল একটি সংস্করণ নিয়ন্ত্রণ ব্যবস্থা যা সফ্টওয়্যার বিকাশকারী, কোডার এবং টিঙ্কাররা ওপেন সোর্স প্রকল্পগুলিতে সহযোগিতা এবং বিতরণ করতে ব্যবহার করে। গিট ব্যবহার করে, আপনি যেকোনো আকারের প্রকল্পগুলি পরিচালনা করতে পারেন, কোড পরিবর্তন এবং একত্রিত করতে পারেন এবং ব্যবহারকারীদের তাদের নিজস্ব মেশিনে আপনার সংগ্রহস্থল ক্লোন করার অনুমতি দেয়। ওপেন সোর্স ইকোসিস্টেমটি গিট-এ চলে এবং MakeUseOf.com-এ বৈশিষ্ট্যযুক্ত অনেকগুলি প্রকল্প গিটহাবের সংস্থানগুলি ব্যবহার করে। Gitea এর সাথে, আপনি আপনার নিজের বাড়িতে একটি রাস্পবেরি পাইতে আপনার সম্পূর্ণ কার্যকরী গিট সংগ্রহস্থলগুলি হোস্ট করতে পারেন।
দিনের মেকইউজের ভিডিও
গিটহাব ব্যবহার করার পরিবর্তে রাস্পবেরি পাইতে কেন আপনার নিজস্ব গিট পরিষেবা হোস্ট করবেন?
55 মিলিয়ন ব্যবহারকারীর সাথে, GitHub হল ফ্রি এবং ওপেন সোর্স সফ্টওয়্যারের বৃহত্তম ভান্ডার পৃথিবীতে, কিন্তু এর বর্তমান মালিক, মাইক্রোসফ্ট, অভিভাবকের ভূমিকার জন্য স্বাভাবিকভাবে উপযুক্ত নয়। কোম্পানির পূর্ববর্তী সিইওরা লিনাক্স এবং জেনারেল পাবলিক লাইসেন্সকে 'একটি ক্যান্সার' হিসাবে বর্ণনা করেছেন এবং মাইক্রোসফ্টের নিজস্ব পণ্যগুলির বেশিরভাগই মালিকানাধীন এবং বন্ধ উৎস।
মাইক্রোসফ্টের মালিকানা গিটহাবকে কিছু নীতিগতভাবে সন্দেহজনক প্রযুক্তি অন্বেষণ করতে দেখেছে - বিশেষ করে GitHub Copilot, একটি AI টুল যা প্রোগ্রামারদের কোড তৈরি করতে সহায়তা করে। কোডারদের দ্বারা নিযুক্ত ক্রিয়েটিভ কমন্স লাইসেন্সের শর্তাবলীর সম্ভাব্য লঙ্ঘনের ক্ষেত্রে কপিলটকে গিটহাবের ডেটার উপর প্রশিক্ষণ দেওয়া হয়েছিল।
গিটহাব ব্যবহার করে, বিকাশকারীরা আরও একটি চোক পয়েন্ট তৈরি করছে যেখানে উদ্ভাবনকে দমিয়ে ফেলা, অবমূল্যায়ন করা এবং অযৌক্তিক হস্তক্ষেপের শিকার হতে পারে।
Gitea আপনাকে রাস্পবেরি পাইতে আপনার নিজস্ব গিট সার্ভার সেট আপ করতে দেয়
Gitea হল Gogs-এর একটি কাঁটা, এবং এটি একটি সম্প্রদায়-পরিচালিত লাইটওয়েট কোড হোস্টিং সলিউশন যা Go-তে লেখা, এবং MIT লাইসেন্সের অধীনে প্রকাশিত। এটির লক্ষ্য তার পূর্বসূরীর চেয়ে আরও বেশি উন্মুক্ত এবং দ্রুত বিকাশের মডেল রয়েছে এবং এটি রাস্পবেরি পাই-এর মতো সাধারণ সম্পদ সহ মেশিনে চলবে। আপনি আপনার ডটফাইলগুলিতে কাজ করতে সক্ষম হবেন, কাস্টম উবুন্টু আইএসও , ব্যাশ স্ক্রিপ্ট, এবং জাভা এবং পাইথন ইউটিলিটিগুলি ভয় ছাড়াই যে তারা একটি DMCA টেকডাউনের অধীন হবে, খারাপ সফ্টওয়্যার প্রশিক্ষণের জন্য ব্যবহার করা হবে, অথবা অন্যথায় আপনার নিয়ন্ত্রণের বাইরে থাকবে৷
আপনার রাস্পবেরি পাইতে কীভাবে গিটিয়া ইনস্টল করবেন
Gitea বিভিন্ন ইনস্টলেশন পদ্ধতির সাথে আসে, তবে সবচেয়ে সহজটি হল ডকারের মাধ্যমে। যদি আপনার রাস্পবেরি পাইতে এগুলি ইতিমধ্যেই চলমান না থাকে, ডকার এবং ডকার কম্পোজ ইনস্টল করুন এখন
আপনার Gitea সার্ভারে আপনি যে ফাইলগুলি সঞ্চয় করেন সেগুলি সম্ভাব্যভাবে অনেক জায়গা নেবে, তাই আমরা পরামর্শ দিই আপনার রাস্পবেরি পাই এর সাথে বাহ্যিক স্টোরেজ ব্যবহার করে , এবং আপনার Gitea ইনস্টলের জন্য অবস্থান হিসাবে এটি ব্যবহার করে।
SSH এর মাধ্যমে আপনার Pi এর সাথে সংযোগ করুন , তারপরে আপনি যেখানে Gitea ইনস্টল করতে চান সেখানে নেভিগেট করুন এবং একটি নতুন ডিরেক্টরি তৈরি করুন, তারপরে এটিতে যান:
mkdir gitea
cd gitea
ন্যানো দিয়ে একটি নতুন ফাইল তৈরি করুন:
nano docker-compose.yml
...এবং এটিতে নিম্নলিখিত কোডটি পেস্ট করুন:
version: "3"
networks:
  gitea:
    external: false
services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:gb
      - /etc/localtime:/etc/localtime:gb
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db
  db:
    image: mysql:8
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql
আপনার নিজের লোকেলে টাইমজোনগুলি পরিবর্তন করুন এবং আপনার ডাটাবেসের জন্য একটি শক্তিশালী পাসওয়ার্ড চয়ন করুন, তারপর সংরক্ষণ করুন এবং ন্যানো দিয়ে প্রস্থান করুন Ctrl + O , তারপর Ctrl + X।
xbox সিরিজ x বনাম xbox এক x
লিখুন:
docker-compose up -d
…বিচ্ছিন্ন মোডে ডকার-কম্পোজ আনতে। ডকার-কম্পোজ Gitea এবং মারিয়া DB-এর জন্য একাধিক ছবি টানবে এবং কন্টেইনার সেট আপ করবে। আপনার সংযোগের গতির উপর নির্ভর করে, এটি কিছু সময় নিতে পারে।
যখন আপনি কমান্ড প্রম্পটে ফিরে আসবেন:
docker-compose ps
… 'gitea' এবং 'gitea_db_1' কে 'আপ' হিসাবে দেখাতে হবে। আপনি এখন আপনার Gitea সাইটের জন্য প্রাথমিক কনফিগারেশন পৃষ্ঠাতে যেতে পারেন your.pi.local.ip.address:3000 .
এখনও কিছু পরিবর্তন করবেন না. আপনি যদি ইন্টারনেটের মাধ্যমে আপনার Gitea ইনস্ট্যান্স অ্যাক্সেস করার পরিকল্পনা করছেন, আপনাকে প্রথমে একটু বেশি প্রস্তুতি নিতে হবে।
ইন্টারনেটের মাধ্যমে আপনার Gitea ইনস্ট্যান্স অ্যাক্সেস করুন
আপনি আপনার Gitea ইনস্ট্যান্সে পৌঁছানোর জন্য একটি স্ট্যান্ডার্ড URL টাইপ করতে সক্ষম হতে চান, তাই প্রক্সি পরিচালনা করার জন্য আপনাকে Apache এর প্রয়োজন হবে। এর সাথে অ্যাপাচি ইনস্টল করুন:
sudo apt install apache2
এখন, নিম্নলিখিত কমান্ড দিয়ে Apache চালু করুন এবং সক্রিয় করুন:
sudo systemctl start apache2
sudo systemctl enable apache2
Apache এর প্রক্সি মডিউলগুলি এর সাথে সক্ষম করুন:
sudo a2enmod proxy
sudo a2enmod proxy_http
একটি ডোমেন নাম বা সাবডোমেন নাম চয়ন করুন একজন স্বনামধন্য রেজিস্ট্রার থেকে। তারপর, আপনার রেজিস্ট্রারের সেটিংস পৃষ্ঠা থেকে, 'উন্নত DNS' বিকল্পগুলি খুঁজুন এবং একটি নতুন যোগ করুন ক রেকর্ড স্থির কর হোস্ট ক্ষেত্র ' @' এবং আপনার স্ট্যাটিক আইপি ঠিকানার মান ক্ষেত্র। TTL (টাইম টু লিজ) মান যতটা সম্ভব কম সেট করুন, তারপর সংরক্ষণ করুন।
আপনার রাউটার অ্যাডমিন পৃষ্ঠা খুলুন, এবং শিরোনাম একটি বিভাগ খুঁজুন পোর্ট ফরওয়ার্ডিং , পোর্ট ম্যাপিং , বা বন্দর ব্যবস্থাপনা।
HTTP অনুরোধের জন্য একটি নতুন এন্ট্রি তৈরি করুন। স্থানীয় এবং পাবলিক পোর্ট উভয় সেট করুন 80 , এবং আপনার রাস্পবেরি পাই এর IP ঠিকানার স্থানীয় IP ঠিকানা।
HTTPS অনুরোধের জন্য একটি দ্বিতীয় খোলা পোর্ট প্রয়োজন। স্থানীয় এবং পাবলিক পোর্ট উভয় সেট করুন 443 , এবং আবার, আপনার Pi এর IP ঠিকানায় স্থানীয় IP ঠিকানা।
অবশেষে, আপনার গিট সার্ভারে SSH অনুরোধের জন্য আপনার একটি পোর্ট খোলা দরকার। স্থানীয় এবং পাবলিক পোর্ট উভয় সেট করুন 222 , এবং আপনার Pi এর IP ঠিকানার স্থানীয় IP ঠিকানা।
আপনি নিরাপত্তা শংসাপত্র এবং কী পেতে Certbot ব্যবহার করবেন। Certbot সংগ্রহস্থল যোগ করুন, আপডেট করুন, তারপর Certbot ইনস্টল করুন:
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt-get install python3-certbot-apache
ডিরেক্টরি পরিবর্তন করুন, এবং ন্যানো দিয়ে একটি নতুন ফাইল তৈরি করুন:
cd /etc/apache2/sites-available/
nano gitea.conf
নতুন ফাইলে, আপনার নিজের ডোমেন নামে অনুলিপি করা নিশ্চিত করে নিম্নলিখিতটি পেস্ট করুন:
<VirtualHost *:80>ServerName your-domain-name.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost On</VirtualHost>
সংরক্ষণ করুন এবং ন্যানো দিয়ে প্রস্থান করুন Ctrl + ও , তারপর Ctrl + এক্স , এবং এর সাথে আপনার নতুন কনফ ফাইল সক্ষম করুন:
sudo a2ensite gitea.conf
Apache পুনরায় চালু করুন:
sudo service apache2 restart
এর সাথে সার্টবট চালান:
sudo certbot
…এবং একটি তালিকা থেকে আপনার ডোমেন নাম নির্বাচন করুন। Certbot সার্টিফিকেট এবং কী আনবে এবং ইনস্টল করবে। যখন আপনি প্রম্পটে ফিরে আসবেন, আবার Apache পুনরায় চালু করুন:
sudo service apache2 restart
Gitea ইনস্ট্যান্স সেটআপ
আপনি এখন ঠিকানায় একটি ব্রাউজারে আপনার Gitea ইনস্ট্যান্স দেখতে পারেন https://your-domain-name.tld . আপনি প্রথম বিভাগে ডাটাবেস প্রকার, পাসওয়ার্ড এবং অন্যান্য ভেরিয়েবল সেট করতে সক্ষম হবেন। এগুলি আপনার ডকার-কম্পোজ ফাইলে নির্দিষ্ট করা মানগুলি হবে এবং ইতিমধ্যেই পূরণ করা উচিত, তাই সেগুলি পরিবর্তন করার দরকার নেই।
ভিতরে সাধারণ সেটিংস , স্থির কর সাইট শিরোনাম উপযুক্ত একজনের কাছে, সার্ভার ডোমেইন আপনার ডোমেইন নাম হতে হবে এবং SSH সার্ভার পোর্ট সেট করা আবশ্যক 222 . 'HTTPS://' সহ বেস URL আপনার ডোমেন নাম হওয়া উচিত।
আপনি সম্পন্ন হলে, বড় নীল আঘাত Gitea ইনস্টল করুন বোতাম আপনি একটি বড় সবুজ কাপ চা দ্বারা অভ্যর্থনা করা হবে, এবং যাই হোক না কেন নাম এবং স্লগ আপনি উদাহরণ দিয়েছেন. আপনার প্রথম ব্যবহারকারী তৈরি করতে, পৃষ্ঠার উপরের ডানদিকে রেজিস্টারে ক্লিক করুন, তারপর আপনার বিবরণ লিখুন। অভিনন্দন!
অন্য কাউকে আপনার গিট সার্ভারে তাদের নিজস্ব সংগ্রহস্থল নিবন্ধন এবং হোস্ট করা থেকে বিরত করতে, আপনাকে সম্পাদনা করতে হবে অ্যাপ। ini ফাইল আপনি যদি প্রাথমিকভাবে আপনার তৈরি করেন গাইড ডিরেক্টরিতে / (root) ডিরেক্টরি, লিখুন:
nano /gitea/gitea/gitea/conf/app.ini
পরিষেবা বিভাগে নীচে স্ক্রোল করুন এবং সেট করুন DISABLE_REGISTRATION সত্য থেকে
সংরক্ষণ করুন এবং ন্যানো দিয়ে প্রস্থান করুন Ctrl + ও , তারপর Ctrl + এক্স, তারপর আপনার পাত্রে পুনরায় চালু করুন:
docker-compose downdocker-compose up -d
Gitea ব্যবহার করে
আপনি যদি কখনও GitHub ব্যবহার করে থাকেন তবে আপনি অবিলম্বে Gitea-এ বাড়িতে থাকবেন। আপনি লগ ইন করার পরে, আপনি দেখতে পাবেন যে কোন সংগ্রহস্থল উপলব্ধ নেই। ক্লিক করে একটি তৈরি করুন + পৃষ্ঠার ডান দিকে সাইন ইন করুন, এবং এটি একটি বুদ্ধিমান নাম দিন।
আপনি বাক্সটি চেক করে সংগ্রহস্থলটিকে ব্যক্তিগত করতে বেছে নিতে পারেন, বা বিশ্বের দেখার জন্য এটি খোলা রেখে দিতে পারেন। একটি রিডমি ফাইল দিয়ে আরম্ভ করতে বাক্সটি চেক করুন, তারপরে ক্লিক করুন৷ সংগ্রহস্থল তৈরি করুন আপনার প্রথম সংগ্রহস্থল তৈরি করতে! আপনি পরিবর্তন করতে এবং প্রতিশ্রুতিবদ্ধ করতে পারেন, ফাইলগুলি আপলোড করতে পারেন এবং এটি GitHub এর মতো সম্পাদনা করতে পারেন।
ক্লিক করুন এসএসএইচ ঠিকানাটি অনুলিপি করতে, এবং আপনি একটি ত্রুটি পেয়ে আপনার স্থানীয় মেশিনে সংগ্রহস্থলগুলি ক্লোন করতে সক্ষম হবেন না: 'দয়া করে নিশ্চিত করুন যে আপনার সঠিক অ্যাক্সেসের অধিকার আছে এবং সংগ্রহস্থলটি বিদ্যমান'। আপনাকে প্রথমে Gitea-তে আপনার স্থানীয় মেশিনের SSH কী যোগ করতে হবে। এটি করার জন্য, থেকে আউটপুট অনুলিপি করুন:
cat ~/.ssh/id_rsa.pub
আপনার Gitea ওয়েব ইন্টারফেসে, আপনার প্রোফাইল ছবিতে ক্লিক করুন, তারপর চয়ন করুন৷ সেটিংস > SSH/ GPG কী . ক্লিক করুন কী যোগ করুন , এবং আপনি এইমাত্র কপি করা কীটিতে পেস্ট করুন।
আপনি এখন আপনার নিজস্ব রাস্পবেরি পাইতে আপনার নিজস্ব গিট সার্ভারে আপনার নিজস্ব গিট সংগ্রহস্থলের সাথে ইন্টারঅ্যাক্ট করতে পারেন!
দুর্দান্ত সফ্টওয়্যার প্রকল্প তৈরি করতে আপনার Gitea ইন্সট্যান্স ব্যবহার করুন
আশ্চর্যজনক প্রকল্পগুলিতে সহযোগিতা করার জন্য গিট একটি দুর্দান্ত সরঞ্জাম, তবে একটি দল ছাড়াও, এটি আপনার নিজস্ব কর্মপ্রবাহ সংগঠিত করার জন্য এবং দুর্দান্ত সফ্টওয়্যার বা কনফিগারেশন তৈরি করার জন্য দুর্দান্ত। আপনি একটি নতুন প্রোগ্রামিং ভাষা শেখার সাথে সাথে আপনার ফাইলগুলির ট্র্যাক রাখতে সাহায্য করতে এটি ব্যবহার করুন বা আপনার ডেস্কটপ সিস্টেমকে সর্বোত্তম হতে কাস্টমাইজ করুন৷