আমি জানি আপনি পুতুল ব্যবহার করছেন তবে আমি এটি পেয়েছি এবং এই ব্যাশ স্ক্রিপ্টটি ব্যবহার করে চালাচ্ছি ( provisioners/shell/application.setup.sh
):
#!/bin/bash
local_user=vagrant
if [ ! -n "$(grep "^bitbucket.org " /home/$local_user/.ssh/known_hosts)" ]; then
ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts 2>/dev/null;
fi
if [[ ! -d "/home/$local_user/app" ]]; then
git clone git@bitbucket.org:czerasz/some-app.git /home/$local_user/app
chown -R $local_user:$local_user /home/$local_user/app
su - $local_user -c "source /usr/local/bin/virtualenvwrapper.sh && mkvirtualenv some-env && workon some-env && pip install -r /home/$local_user/app/requirements.txt"
fi
যে কেউ এটিকে সহজেই পুতুল ম্যানিফেস্টে রূপান্তর করতে পারে ...
একসাথে এই সঙ্গে Vagrantfile
config.vm.define "web1", primary: true do |web1_config|
web1_config.ssh.forward_agent = true
# Create a private network, which allows host-only access to the machine
web1_config.vm.network "private_network", ip: "192.168.11.10"
web1_config.vm.hostname = "web1.#{domain}"
web1_config.vm.provision "shell", path: "provisioners/shell/python.setup.sh"
web1_config.vm.provision "shell", path: "provisioners/shell/application.setup.sh"
end
আমার জন্য মূল বক্তব্যটি ছিল যখন আমি মৃত্যুদণ্ড কার্যকর করি:
su - $local_user -c "ssh-keyscan bitbucket.org >> ~/.ssh/known_hosts 2>/dev/null;"
su - $local_user -c "git clone git@bitbucket.org:czerasz/some-app.git /home/$local_user/app"
এটি কার্যকর হয়নি। যেন কী ব্যবহার করে কীগুলি পাস করা হয়নি su
। সুতরাং আমি রেপোটিকে রুট হিসাবে ক্লোন করেছি এবং তারপরে মালিকানা পরিবর্তন করেছি।
এই পোস্টটি খুব সহায়ক ছিল।