Integrasi Server Magento2 CI untuk Produksi

11

Apa langkah, pedoman, dan alur yang perlu diikuti untuk alur kerja Magento2 Continuous Integration yang berhasil?

Atish Goswami
sumber

Jawaban:

1

Kami saat ini sedang berupaya meningkatkan proses penerapan kami di Magento 2. Saya akan menyambut umpan balik apa pun yang Anda miliki - tolong ping saya di Twitter atau email.

Saat ini di M2 Anda akan melakukan hal berikut (di lingkungan Anda)

  • Dapatkan atau perbarui kode (git / etc ...)
  • pemasangan komposer
  • pengaturan bin / magento: meningkatkan (atau pengaturan: menginstal)
  • bin / set magento: mode produksi

Set FYI: mode produksi menghasilkan a

  • setup bin / magento: di: compile
  • setup bin / magento: static-content: deploy

Ada beberapa pendekatan lain yang dapat Anda gunakan sekarang untuk lebih dekat ke proses 2 langkah membangun dan menyebarkan tetapi mereka agak rumit.

Membuang
sumber
Chuck, bisakah Anda menjelaskan lebih lanjut tentang proses penyebaran yang lebih kompleks?
Tjitse
Sedang dikembangkan - kami akan menuliskannya dan merilisnya sebagai bagian dari rilis berikutnya (2.2). Lihat beberapa perintah CLI baru yang kami tambahkan di mainline: app: config: dump, app: config: import, config: sensitive: set, config: set, config: set, config: show, setup: db: status. Ide adalah Anda menginstal Magento di mesin dev Anda, konfigurasikan seperti yang diinginkan pada panel admin. lakukan aplikasi: config: dump (diakhiri dengan config.php, env.php), kompilasi & penerapan aset statis. Kemudian Anda menyalin kode Anda (termasuk aset) ke lingkungan produksi (salin tangan swizzle file env.php Anda yang sesuai) dan kemudian setup: upgrade on prod.
Chuck
Pada dasarnya operasi penyebaran 2 pass. Pass pertama ada di mesin dev Anda (mis. Tidak ada downtime produksi), pass kedua ada pada produksi (salinan kode + waktu henti potensial (setup: peningkatan) jika Anda memiliki perubahan skema). Sasaran adalah <1 menit waktu henti produksi dengan perubahan skema.
Chuck
Saran: jangan jalankan "pemasangan komposer" di Produksi! Itu harus dilakukan dalam tahap pra-penyebaran dalam proses CI, untuk menghindari masalah parah jika Packagist atau repo.magento.com sedang down. Anda bahkan dapat menjalankan perintah-perintah magento lainnya sebelum disebarkan: jika Anda menggunakan artefak (paket) yang sudah dikompilasi sebelumnya, maka Anda tidak perlu menjalankan apa pun selain "pengaturan magento: peningkatan" untuk DB + mungkin suatu cache siram setelah kode mencapai produksi. Meminimalkan downtime menjadi hanya beberapa milidetik (atau beberapa detik) bahkan dengan perubahan skema.
Gabriel Somoza