paint-brush
IaC পার্ট 4 আনলক করা: Terraform এবং Githubদ্বারা@chrisray
1,766 পড়া
1,766 পড়া

IaC পার্ট 4 আনলক করা: Terraform এবং Github

দ্বারা Chris Ray5m2024/04/09
Read on Terminal Reader

অতিদীর্ঘ; পড়তে

একটি 12 বছর বয়সী হিসাবে আমার সংস্করণ নিয়ন্ত্রণ প্রক্রিয়া .... চুষা. আমি সোর্স কোডটি হারাবো, তারপর এক সপ্তাহ পরে এটিতে ফিরে আসব এবং আবার একটি নতুন ফাইল তৈরি করব। এই সমস্যার সমাধান হল গিট, বা এই ক্ষেত্রে বিশেষভাবে গিটহাব। আমরা এখন পার্ট 3 থেকে এই ছোট্ট টেরাফর্ম স্থাপন করব এবং কয়েকটি মৌলিক গিট কমান্ড ব্যবহার করে এটিকে গিটহাবে রাখব।
featured image - IaC পার্ট 4 আনলক করা: Terraform এবং Github
Chris Ray HackerNoon profile picture

আপনার কোড সংরক্ষণ করতে Git এবং GitHub ব্যবহার করে

আমি যখন খুব ছোট ছিলাম, তখন আমি কোনোভাবে C++ এর জগতে হোঁচট খেয়েছিলাম এবং বহুবর্ষজীবী প্রিয় "হ্যালো ওয়ার্ল্ড" প্রোগ্রামটি একসাথে রেখেছিলাম। আমি এটি সংকলন করেছি, এটি কার্যকর করেছি এবং পপ-আপ পেয়েছি যা "প্রোগ্রামিং" এ একটি সফল অভিযান নিশ্চিত করেছে।


আমি, যাইহোক, এর চেয়ে অনেক বেশি এগিয়ে যাইনি কারণ 12 বছর বয়সে, আমার সংস্করণ নিয়ন্ত্রণ প্রক্রিয়া... চুষে গিয়েছিল। আমি সোর্স কোডটি হারাবো, তারপর এক সপ্তাহ পরে এটিতে ফিরে আসব এবং আবার একটি নতুন ফাইল তৈরি করব। আমি চারপাশে খেলব এবং C++ এর সাথে ছোট ছোট জিনিসগুলি করে অগ্রগতি করব, কিন্তু প্রতিবার আমি এটি করেছি, এটি মূলত স্ক্র্যাচ থেকে শুরু হয়েছিল কারণ আমি আমার সোর্স কোডের নিয়ন্ত্রণ বজায় রাখতে খুব খারাপ ছিলাম।

MRW আমি বুঝতে পারি সোর্স কোড চলে গেছে। আবার।


আপনি যতবার নির্মাণ করবেন ততবার আপনার সমস্ত অগ্রগতি হারানোর চেয়ে দ্রুত কোডের সাথে কাজ করার আপনার উচ্চাকাঙ্ক্ষাকে আর কিছুই ধ্বংস করবে না। এই সমস্যার সমাধান হল Git, বা এই ক্ষেত্রে, বিশেষ করে GitHub। আমরা এখন পার্ট 3 থেকে এই ছোট্ট টেরাফর্ম স্থাপন করব এবং VSCode-এর অন্তর্নির্মিত টার্মিনালে কয়েকটি মৌলিক গিট কমান্ড ব্যবহার করে এটিকে GitHub-এ রাখব (এটি করার জন্য একটি VSCode Github এক্সটেনশন রয়েছে, তবে আপনি গিট কমান্ডগুলি কী তা বুঝতে পারেন) আপনার জন্য এটি করার জন্য একটি এক্সটেনশনের উপর নির্ভর করার আগে এই ধরণের কাজটি অর্জন করতে ব্যবহৃত হয়)।


আপনি এই পদক্ষেপগুলির জন্য আপনার OS এর নেটিভ টার্মিনাল (CMD, Powershell, ZSH, যাই হোক না কেন) ব্যবহার করতে পারেন।


  1. "CTRL + `" টিপে VSCode এ টার্মিনাল খুলুন (এটি একটি ব্যাকটিক, "1" এর বাম দিকের ছোট্ট কী)


  2. এই নতুন টার্মিনালে, আপনি সঠিক ফাইল ডিরেক্টরিতে আছেন কিনা যাচাই করুন (এটি ডিফল্টরূপে হওয়া উচিত)। পরবর্তী ধাপে, আমরা এই ফোল্ডারে একটি গিট রেপো শুরু করব এবং আপনার কোডের পরিবর্তনগুলি ট্র্যাক করা শুরু করব। যদি এটি সেই ডিরেক্টরি না হয় যেখানে আপনার কোড আছে, তাহলে এটি সঠিক ডিরেক্টরিতে পরিবর্তন করুন।


  3. আমরা এখন গিট আরম্ভ করতে চাই; এই টাইপ করতে: git init

    গিট এখন এই ডিরেক্টরিতে চলছে, তবে, এটি কোনও ফাইল (বা সেই ফাইলগুলিতে কোড) ট্র্যাক করছে না।


  4. গিট স্থানীয় কোড সংগ্রহস্থলের পাশাপাশি দূরবর্তী কোড সংগ্রহস্থল ("রেপো") ব্যবহার করতে পারে। বেশিরভাগ পেশাদার সেটিংসে, আপনি গিথুব, গিটল্যাব, বিটবাকেট ইত্যাদির মতো একটি পরিষেবা সহ একটি রিমোট রেপো ব্যবহার করবেন... আমাদের গিটকে বলতে হবে এই কোডটি কোথায় পাঠাতে হবে আমরা এটি ট্র্যাক করতে যাচ্ছি। এটি করতে, আমরা git remote add ব্যবহার করি।


    1. এর জন্য সিনট্যাক্সটি এইরকম দেখাচ্ছে: git remote add origin https://github.com/owner/repo_name.git

      1. এটিকে ভেঙে দেওয়া: git remote add origin গিটকে "অরিজিন" নামে একটি রিমোট রেপো যোগ করার নির্দেশ দেয় এবং এই রিমোট রেপোর গন্তব্য হিসাবে এটির পরে URL ব্যবহার করে


    2. আমার ক্ষেত্রে, আমি আমার অ্যাকাউন্টের অধীনে গিটহাবে একটি নতুন (খালি) রেপো তৈরি করেছি তাই এটি এইরকম দেখাচ্ছে: git remote add origin https://github.com/wellmadeoldfashioned/YT-single-server-arch-AWS.git

  5. এখন, আমরা গিটকে "ট্র্যাক" ফাইলগুলিকে বলার দিকে যেতে পারি। একটি নির্দিষ্ট ফাইল ট্র্যাক করতে, আমরা করতে পারি: git add [filename] অথবা বর্তমান রেপোতে সবকিছু ট্র্যাক করতে, আপনি করতে পারেন: git add . - সাধারণত স্পষ্ট হওয়া এবং পৃথক ফাইল যুক্ত করা এবং স্থানীয় ডিরেক্টরিতে সমস্ত ফাইল ট্র্যাক না করা সর্বোত্তম।


    1. এখন আমাদের টেরাফর্ম ফাইল যোগ করা যাক; এটি করতে নিম্নলিখিত কমান্ডটি জারি করুন: git add main.tf

    2. এই মুহুর্তে, আপনি আগের ধাপে যে ফাইল বা ফাইলগুলি যোগ করেছেন তা এখন "পর্যায়ে" - এর অর্থ হল আপনি গিটকে বলেছেন "এই ফাইলগুলির একটি অনুলিপি এখন যেমন আছে এবং একটি রেপোতে অনুলিপিগুলি পাঠানোর জন্য প্রস্তুত হন" ” (এই ক্ষেত্রে, একটি দূরবর্তী রেপো: Github)।


  6. একবার ফাইলগুলি মঞ্চস্থ হয়ে গেলে, আমাদের একটি প্রতিশ্রুতি তৈরি করতে হবে - এটিকে আপনার বিকাশের অগ্রগতির একটি চেকপয়েন্টের মতো মনে করুন যেখানে আপনি চেকপয়েন্টের বর্ণনা দিয়ে একটি সংক্ষিপ্ত বার্তা যুক্ত করতে পারেন।


    1. একটি কমিট স্টেজ করার জন্য, আমরা git commit -m “[message_goes_here]” ব্যবহার করি - এটি ঐতিহ্যগত যে প্রথম কমিটের সময়, আপনি "প্রাথমিক প্রতিশ্রুতি" এর মতো কিছু ব্যবহার করেন, তবে বার্তাটিতে কী যায় তা নির্দেশ করার কোনও নিয়ম নেই। সাধারণভাবে বলতে গেলে, আপনি সংক্ষিপ্ত এবং বর্ণনামূলক হতে চান। উদাহরণস্বরূপ, যদি এটি এমন একটি প্রতিশ্রুতি হয় যা একটি পরিবর্তনশীল নাম আপডেট করে, তাহলে আমরা বলব শুধু সেই git commit -m “updated AMI variable to XYZ”


    2. এখন ইস্যু: git commit -m “initial commit” - আপনার গিট থেকে প্রতিক্রিয়ার কয়েকটি লাইন পাওয়া উচিত যা দেখতে এইরকম:

  7. এটি প্রায় সম্পূর্ণ, তবে এখনও পুরোপুরি নয়। আমরা গিট শুরু করেছি, একটি রিমোট রেপো যুক্ত করেছি, গিটকে একটি নির্দিষ্ট ফাইল ট্র্যাক করার নির্দেশ দিয়েছি এবং রিমোট রেপোতে একটি প্রতিশ্রুতিবদ্ধ করেছি, কিন্তু আমরা এখনও রিমোট রেপোতে কমিট পাঠাইনি


    1. কমিট পাঠাতে (আপনার "চেকপয়েন্ট" আমরা উপরে গিট কমিট কমান্ড ব্যবহার করে তৈরি করেছি), আপনাকে git push [remote-repo-name] [local-branch-name] ইস্যু করতে হবে


    2. দূরবর্তী রেপো নামটি বের করতে, এই ক্ষেত্রে, "উৎস" নামকরণের জন্য আমাদের ধাপ 4 এ ফিরে তাকাতে হবে। স্থানীয় শাখার নাম বের করার জন্য, আপনি হয় git branch ইস্যু করতে পারেন, অথবা যদি আপনি এটির ডিফল্ট সেটিং থেকে এটি পরিবর্তন না করেন তবে এটি মাস্টার শাখার জন্য "মাস্টার" হবে।

    3. আপনি দেখতে পাচ্ছেন, আমরা প্রকৃতপক্ষে স্থানীয়ভাবে মাস্টার শাখায় কাজ করছি। সুতরাং, কোডটি গিথুবে পুশ করতে, আমাদের ইস্যু করতে হবে: git push origin master

  8. GitHub দিকে চেক করে, আমরা এইমাত্র পাঠানো কমিট দেখতে পাচ্ছি।

    সেইসাথে প্রকৃত প্রতিশ্রুতি পরিবর্তন:


আশা করি, এটি আপনাকে গিট এবং গিটহাবের সাথে শুরু করতে সহায়তা করবে। এই কাজের ডেমোতে, সরলতার জন্য কিছু শর্টকাট নেওয়া হয়েছিল (যেমন মাস্টার শাখা সংরক্ষণের জন্য একটি নতুন শাখা তৈরি না করা, পরিবর্তনগুলি একত্রিত না করা, কাঁটাচামচ ইত্যাদি), তবে এই জ্ঞান সেই জিনিসগুলি শেখার ভিত্তি।


এই ফ্যাশনে গিট ব্যবহার করে আপনার আরামদায়কতা প্রতিষ্ঠিত হয়ে গেলে, আপনাকে "হেড" কী এবং কীভাবে এটিকে ম্যানিপুলেট করা যায়, রিপোজ কাঁটা, পরিবর্তনগুলি একত্রিত করা, ইত্যাদি বুঝতে বিভিন্ন শাখায় কাজ করা উচিত।