আমি কীভাবে কোনও বিধানকারী থেকে ভ্যাগ্রান্ট অতিথিকে পুনরায় বুট করব?


4

এখানে ভ্যাগ্র্যান্টের তুলনামূলক নতুন আগত, প্রতিবারই আমি নতুন উবুন্টু ভিএম স্পিন করতে চাইলে ম্যানুয়ালি ইনস্টল প্রক্রিয়াটি অতিক্রম করার চেষ্টা করছি।

আমার স্বাভাবিক প্রক্রিয়া, ইনস্টল শেষ করার পরে, মেশিনের সমস্ত সফ্টওয়্যার এর সাথে আপডেট করা apt-get updateএবং apt-get dist-upgrade -yতারপরে সমস্ত আপগ্রেড কার্যকর হয় তা নিশ্চিত করার জন্য এটি পুনরায় চালু করা হয়। সে লক্ষ্যে, আমি এর মতো একটি ভ্যাগ্রান্টফাইল তৈরি করেছি:

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
  end

  config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get dist-upgrade -y
    shutdown -r now
  SHELL
end

এটি বেশিরভাগ ক্ষেত্রেই কাজটি করে - আমি ভিএম থেকে প্যাকেজ আপডেট হিসাবে আউটপুট দেখতে পাচ্ছি - তবে এটি পুনরায় বুট করার পরে এবং আমি এতে vagrant sshপ্রবেশ করি, আমার কোনও ফাইলই উপস্থিত হয় না /vagrant। আমি ধরে নিচ্ছি যে কোনও কারণে ভাগ করা ফোল্ডারটি পুনরায় পুনঃনির্মাণ করা হচ্ছে না।

আমার অনুমান আমার প্রথম প্রশ্নটি: শেল বিধানকারকের অংশ হিসাবে এটির মতো সিস্টেমটি আপডেট করা কি বোধগম্য? এবং যদি তা হয় তবে আমি কীভাবে অতিথিকে পুনরায় বুট করতে পারি এবং এখনও /vagrantভাগটি মাউন্ট করতে পারি?

উত্তর:


4

এটি হ'ল যোনি-পুনরায় লোড প্লাগইনটি। এটি ইনস্টল করার পরে config.vm.provision :reloadআপনি পুনরায় লোড করতে চান এমন বিধানের পয়েন্টে কেবল যুক্ত করুন ।


3

আপনি যদি কেবলমাত্র প্রভিশনটি সম্পূর্ণ হওয়ার পরে পুনরায় বুট করতে চান (বিধানের পদক্ষেপের মধ্যে নয়), আপনি এটি অর্জন করতে ট্রিগার ব্যবহার করতে পারেন:

config.trigger.after [:provision] do |t|
  t.name = "Reboot after provisioning"
  t.run = { :inline => "vagrant reload" }
end

এটিতে কোনও প্লাগইন ইনস্টল করা প্রয়োজন না হওয়ার সুবিধা রয়েছে।

ট্রিগার সম্পর্কিত আরও তথ্য এখানে


এটির একটি প্রধান সীমাবদ্ধতা রয়েছে: vagrant provisionকমান্ড সম্পূর্ণ হওয়ার পরে এই জাতীয় ট্রিগারটি চালানো হবে । প্রথমটি বিধান হওয়ার পরে এটি চলবে নাvagrant up । (দেখুন: github.com/hashicorp/vagrant/issues/10480 )
এড এন

দেখে মনে হচ্ছে আপনার এখানে ট্রিগারগুলি রয়েছে যা অনেকগুলি ইভেন্টের জন্য এখানে চলছে যেমন : github.com/hashicorp/vagrant/issues/… উদাহরণস্বরূপ, config.trigger. after : up ,: Provision do | t | ... ইত্যাদি I কোডটি সম্পাদিত করে তা প্রতিফলিত করে। আমি কিছু গণ্ডগোল করে থাকলে আমাকে জানান Let
জন প্যানকোস্ট

এখন যেহেতু আমি এটির কথা ভাবি, আপনি এটি করতে চাইবেন না: আপ করুন। এর অর্থ এই যে আপনি যতবার vagrant upএটি চালাবেন ততক্ষণে মেশিনটি পুনরায় লোড করবে। এটি নিরীহ, তবে অপ্রয়োজনীয়।
জন প্যানকোস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.