আমি dev.myapp.com
পরীক্ষার জন্য কোড এবং তারপরে www.myapp.com
উত্পাদন ব্যবহারের জন্য চাপ দিতে সক্ষম হতে চাই । হেরোকু দিয়ে কি এটা সম্ভব?
আমি dev.myapp.com
পরীক্ষার জন্য কোড এবং তারপরে www.myapp.com
উত্পাদন ব্যবহারের জন্য চাপ দিতে সক্ষম হতে চাই । হেরোকু দিয়ে কি এটা সম্ভব?
উত্তর:
হেরোকুর কাছে আপনার ইন্টারফেসটি মূলত একটি গিট শাখা। হেরোকু রত্নটি তাদের এপিআইয়ের মাধ্যমে কিছু কাজ করে তবে আপনার গিট সংগ্রহস্থলের মধ্যে এটি কেবল একটি নতুন দূরবর্তী শাখা।
heroku create yourapp # production
git br -D heroku # delete the default branch
heroku create staging-yourapp # staging
git br -D heroku # delete the default branch
একবার আপনি হেরোকুতে একাধিক অ্যাপ্লিকেশন সেট আপ করলে আপনার গিট সংগ্রহস্থলটি এভাবে কনফিগার করতে সক্ষম হওয়া উচিত:
git remote add staging git@heroku.com:staging-yourapp.git
git push origin staging
git remote add production git@heroku.com:yourapp.git
git push origin production
আমি সাধারণত একটি 'ওয়ার্কিং' শাখায় কাজ করি এবং আমার মাস্টারের জন্য গিথুব ব্যবহার করি।
আপনার ক্ষেত্রে এটি ধরে নিলে, আপনার মোতায়েন করা ওয়ার্কফ্লো সম্ভবত এমন কিছু দেখাচ্ছে:
git co -b working
# do some work
# push to github:
git co master
git merge working
git push
# push to staging:
git co staging
git merge master
git push origin staging
# push to production
git co production
git merge master
git push origin production
heroku create yourapp --remote your-remote
heroku
কমান্ড অন্তর্ভুক্ত করতে হবে --app staging
বা --app production
। ডিফল্ট সেট করার কোনও উপায় আছে কি? (একটি মন্তব্য হিসাবে জিজ্ঞাসা / সি জিজ্ঞাসা এটি একটি সম্পূর্ণরূপে SO প্রশ্ন করা খুব লক্ষ্যবস্তু বলে মনে হচ্ছে।)
এটি আমার মতো আপনার নবাগত কি তা জানতে আপনার প্রয়োজনীয় সমস্ত কিছু ব্যাখ্যা করে: http://devcenter.heroku.com/articles/mpleple-en वातावरण
মূল প্রশ্নের মূল অংশটি হ'ল মূল অ্যাপ্লিকেশন (www.myapp.com) এর একটি সাবডোমেন (dev.myapp.com) এর সাথে মঞ্চ অ্যাপটিকে লিঙ্ক করা about এটি উত্তরের কোনও দিকেই সম্বোধন করা হয়নি।
পদক্ষেপ 1: লুক বেয়েসের উত্তরে নির্দেশিত নির্দেশ অনুসারে আপনার অ্যাপ্লিকেশনটির প্রযোজনা ('মাইএপ') এবং স্টেজিং ('মঞ্চ-মাইয়াপ') উভয়ই কনফিগার করুন
পদক্ষেপ 2: আপনার ডোমেন পরিচালনা ব্যবস্থায় (যেমন গোড্যাডি):
Create a CNAME record: dev.myapp.com
that points to: proxy.heroku.com
পদক্ষেপ 3: মঞ্চস্থ-ম্যাপের জন্য dev.myapp.com রুট করতে হেরোকুকে কনফিগার করুন:
heroku domains:add dev.myapp.com --app staging-myapp
সিএনএম রেকর্ডটিতে প্রচারের সময় পাওয়ার পরে, আপনি dev.myapp.com এ আপনার স্টেজিং অ্যাপটি চালাতে সক্ষম হবেন।
before_filter
জন্য আমার একটি হুক যোগ করেছি application_controller
, তারপরে একটি অ্যাডমিন কুকি সেট করেছি যাতে আমি এখনও কোনও 'প্রশাসনিক' দৃষ্টিকোণ থেকে অ্যাপটি দেখতে পারি। আমার জন্য বেশ ভাল কাজ করা।
আপনার নায়কু_সান পরীক্ষা করা উচিত
এটি হিরকুতে পরিবেশ নিয়ে জাগ্রত করে একটি খুব ভাল কাজ করে।
জিনিস এখন সহজ। আপনি এটি কীভাবে করেন তা এখানে ...
$ heroku create myapp --remote production
$ heroku create myapp-staging --remote staging
এই প্রতিটি অ্যাপের, যা আপনি দেখতে পাবেন জন্য দূরবর্তী Repos নামে তৈরি করে দেব .git/config
।
আপনি এখন কোনও নির্দিষ্ট অ্যাপ্লিকেশনটিকে টার্গেট করতে --app বা --remote স্যুইচগুলি ব্যবহার করতে পারেন :
$ heroku info --app myapp-staging
$ heroku info --remote staging
রেল অ্যাপসের জন্য, হিরোকু "উত্পাদন" পরিবেশে ডিফল্ট । আপনি যদি চান যে আপনার স্টেজিং অ্যাপটি কোনও মঞ্চ পরিবেশে চলতে পারে তবে আপনার প্রকল্পে পরিবেশ তৈরি করুন এবং অ্যাপ্লিকেশনটিতে সম্পর্কিত RAILS_ENV এবং RAKE_ENV পরিবেশ পরিবর্তনশীল সেট করুন:
$ heroku config:set RACK_ENV=staging RAILS_ENV=staging --remote staging
আপনার যদি অন্য কনফিগারেশন ভেরিয়েবল থাকে তবে আপনার প্রতিটি পরিবেশের জন্য সেগুলিও পাস করতে হবে।
$ heroku config:set AWS_KEY=abc --remote staging
$ heroku config:set AWD_SECRET=123 --remote staging
...etc
এটি একটি বিশাল ব্যথা যদিও আমি কেবল আমার স্নাপকনফিগ রত্নটি ব্যবহার করি এবং চালাই
$ rake heroku:config:load[myapp-staging]
আমার প্রকল্পের YAML কনফিগারেশন ফাইলগুলি হিরোকুতে লোড করতে।
এখন আপনি কেবল হিরোকুকে এইভাবে চাপ দিন:
$ git push staging master
$ git push production master
এবং এই মত স্থানান্তর:
$ heroku run rake db:migrate --remote staging
$ heroku run rake db:migrate --remote production
( আরও তথ্য এবং শর্টকাটগুলির জন্য একটি অ্যাপের হিরোকু দেব কেন্দ্রের একাধিক পরিবেশের পরিচালনা দেখুন ))
RAILS_ENV
এবং RACK_ENV
করতে staging
Heroku দ্বারা নিরুৎসাহিত হয়:। "উপস্থাপনকারী এবং একটি কনফিগ / পরিবেশের / staging.rb এবং একটি ভাল অভ্যাস প্রয়োগের RAILS_ENV = উপস্থাপনকারী সঙ্গে একটি Heroku অ্যাপ্লিকেশানে এই নয় তৈরি" এটা যেমন অন্য কাস্টম পরিবেশ তৈরি করার ব্যাপারে প্রলুব্ধ হতে পারে " পরিবর্তে আমরা সর্বদা উত্পাদন মোডে চলার এবং আপনার কনফিগারেশন ভার সেট করে কোনও আচরণ পরিবর্তন করার পরামর্শ দিই। এখানে আরও বিস্তারিত: devcenter.heroku.com/articles/…
git push staging edge work
?