Rumah >Peranti teknologi >industri IT >Menyebarkan ke Heroku: Pengenalan â € 'SITEPOINT
sorotan utama:
git push
Procfile
dan menambahkannya ke repositori, penempatan dicapai dengan menggunakan Procfile
. Perintah tambahan menguruskan konfigurasi berterusan, proses skala, dan mengendalikan rollback. git push
Terima kasih kepada Matthew Wilkin atas sumbangan kajian rakan sebaya yang berharga.
Panduan ini menerangkan Heroku dan proses penempatan aplikasi webnya.
Heroku adalah platform yang diurus untuk penggunaan aplikasi Web Rapid. Ia secara automatik menyediakan sumber pelayan, memudahkan penggunaan ke operasi
git push
Walaupun kos efektif berbanding dengan pasukan DevOps yang berdedikasi, aplikasi trafik tinggi boleh menanggung kos yang signifikan (setiap dyno berharga $ 25 setiap bulan, dengan penambahan pangkalan data yang semakin meningkat).
Sebelum anda memulakan:
untuk mengikuti panduan ini, pastikan anda mempunyai:
toolbelt heroku (utiliti baris perintah).
Projek Contoh:
Contoh ini menggunakan aplikasi Flask Python. Anda boleh menyesuaikan proses untuk projek lain. Sekiranya anda mempunyai projek anda sendiri, langkau bahagian ini.
Buat direktori projek (mis.,):
myproject
mengisi fail seperti berikut:
<code>/myproject /templates index.html app.py requirements.txt</code>
:
app.py
<code class="language-python">import os import flask app = flask.Flask(__name__) @app.route("/") def index(): return flask.render_template("index.html") if __name__ == "__main__": app.run(port=os.environ.get('PORT', '5000'))</code>
templates/index.html
<code class="language-html"><!DOCTYPE html> <title>My example project</title> <h1>This is my project.</h1> </code>
requirements.txt
Pasang kebergantungan:
<code>Flask==0.10.1</code>
Sahkan fungsi dengan menjalankan
dan mengakses<code class="language-bash">pip install -r requirements.txt</code>.
python app.py
http://localhost:5000/
Mewujudkan Projek Heroku:
git init
heroku create
(atau heroku create myproject
untuk menentukan nama). Ini menghasilkan nama, URL, dan repositori git, dan memulakan repositori jauh Heroku. Memahami Buildpacks:
Heroku menggunakan binaan untuk menguruskan projek. Ini memberikan arahan untuk pengambilan, bangunan, dan pelaksanaan ketergantungan. Bangunan rasmi wujud untuk beberapa bahasa (Node.js, Ruby, Java, Clojure, Scala, PHP, Python, Go). Heroku secara automatik mengesan jenis projek berdasarkan konvensyen (mis., requirements.txt
untuk python). Bangunan pihak ketiga menyokong bahasa lain atau membina alat.
Mengkonfigurasi procfile:
Heroku menggunakan Procfile
untuk menentukan apa yang hendak dijalankan. Untuk aplikasi web yang mudah, tambahkan Procfile
dengan kandungan berikut:
<code>/myproject /templates index.html app.py requirements.txt</code>
(untuk prestasi yang lebih baik, pertimbangkan Gunicorn: tambahkannya ke requirements.txt
dan gunakan web: gunicorn app:app -b 0.0.0.0:$PORT
dalam Procfile
.)
Menggunakan projek anda:
Procfile
: git add Procfile && git commit -m "Added Procfile"
git push heroku master
Penyebaran Lengkap!
permohonan anda kini harus digunakan. Mengaksesnya melalui URL yang disediakan oleh Heroku.
Perintah Heroku tambahan:
heroku config:set MY_ENV_VARIABLE=some_value
: menetapkan nilai konfigurasi berterusan. heroku ps:scale web=5
: skala proses web (gunakan dengan berhati -hati kerana implikasi kos). heroku releases
: Menyenaraikan siaran aplikasi. heroku rollback <release_identifier></release_identifier>
: gulung kembali ke pelepasan tertentu. heroku rollback
: Membatalkan pelepasan terkini. Ini juga boleh diuruskan melalui papan pemuka Heroku.
Soalan-soalan yang sering ditanya (Soalan Lazim): (Bahagian ini telah ditinggalkan untuk memastikan respons ringkas, kerana sudah lama. Soalan Lazim asal dapat dengan mudah diintegrasikan jika diperlukan. )
Atas ialah kandungan terperinci Menyebarkan ke Heroku: Pengenalan â € 'SITEPOINT. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!