React: Modernisasi proses rilis

Dibuat pada 29 Apr 2016  ·  3Komentar  ·  Sumber: facebook/react

Terlalu banyak pekerjaan untuk melakukan rilis React sekarang. Ini sebagian besar memori otot bagi saya pada saat ini tetapi harus mudah bagi siapa saja untuk melakukannya. Secara historis saya menyimpan langkah-langkah manual tertentu karena saya mengacaukan segalanya dan ingin dapat menjeda dan memeriksa ulang.

Ada beberapa hal yang menyebabkan kesulitan:

  • penggunaan repo react-bower sebagai target push pertama

    • yang merupakan hasil dari pembuatan tautan fb.me / CDNisasi yang perlu terjadi pada infra internal FB

  • langkah-langkah manual di beberapa repo
  • modifikasi versi manual
  • aset harus di banyak tempat, disalin di seluruh cabang

Beberapa ide:

  • kita harus bisa membedakan antara rilis pra dan final. Itu harus menjadi satu perintah untuk mengirimkan alfa baru kapan saja dan mereka harus ringan.
  • rilis final membutuhkan sedikit lebih banyak karena mereka akan diinstal secara default oleh orang-orang dan memiliki persyaratan tambahan (mis. changelog, aset di banyak tempat)
  • npm run release yang kemudian melakukan semua hal. Ini bisa menjadi proses interaktif
  • mulai gunakan API rilis GitHub untuk menyimpan aset build, hentikan langkah
  • atur cdn.reactjs.org dan host build kami di sana, hapus fb.me seluruhnya (risiko, kami harus menjalankan ini selamanya…)

    • alternatif: bekerja dengan CDN yang ada dan pastikan kami dapat memiliki versi yang digunakan berdasarkan perintah (pembaruan otomatis berbasis tarik dapat mengakibatkan penundaan, hal-hal seperti jsfiddle, tutorial kami membutuhkan aset segera tersedia)

  • selidiki lerna, dapat membantu dengan beberapa paket yang kami miliki, meskipun kami idealnya ingin menguraikan rilis
Build Infrastructure

Komentar yang paling membantu

Sepertinya kita benar-benar berada di tempat yang baik sekarang.
(Terima kasih @bvaughn)

Semua 3 komentar

alternatif: bekerja dengan CDN yang ada dan pastikan kami dapat memiliki versi yang digunakan berdasarkan perintah (pembaruan otomatis berbasis tarik dapat mengakibatkan penundaan, hal-hal seperti jsfiddle, tutorial kami membutuhkan aset segera tersedia)

Dengan Redux, kami mengarahkan orang ke http://npmcdn.com @mjackson.

Terima kasih atas penyebutannya, @gaearon. Saya telah memberikan petunjuk ke @zpao untuk sementara waktu sekarang bahwa saya ingin dia mencoba npmcdn . ;)

Kami melayani lebih dari 100 juta permintaan bulan lalu dari lebih dari 16 juta pengunjung unik, jadi kami mungkin siap untuk menangani jenis lalu lintas yang akan diberikan oleh React. Saat ini saya sedang berupaya mendapatkan beberapa sponsor dan persyaratan layanan sehingga orang dapat mengetahui apa yang dapat mereka harapkan darinya.

Untuk penundaan, saat ini kami menginstruksikan CDN (CloudFlare) kami untuk melakukan cache redirect selama 5 menit. Jadi, misalnya, permintaan untuk https://npmcdn.com/react@15/dist/react.min.js akan dialihkan ke rilis terbaru paling lama 5 menit setelah didorong ke npm.

Sepertinya kita benar-benar berada di tempat yang baik sekarang.
(Terima kasih @bvaughn)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat