Saya bekerja dengan proyek yang menggunakan Jenkins untuk membangun dan menggunakan layanan microser ke Elastic Beanstalk. Kami menyebarkan cabang integrasi ke lingkungan pengujian, melepaskan cabang ke lingkungan pementasan, dan kemudian membangun master akhir untuk produksi. Saya memiliki beberapa masalah dengan melakukannya dengan cara ini: pertama, itu berarti kita berakhir dengan matriks satu build per proyek per lingkungan, upaya duplikasi; dan kedua, itu berarti kami tidak menggunakan artefak build yang sama untuk produksi yang divalidasi dalam pementasan.
Saya cenderung meninggalkan Beanstalk dan pindah ke ASG biasa menggunakan sesuatu seperti Chef untuk penempatan. Itu akan meninggalkan kita dengan satu bangunan per proyek, menghasilkan artefak bangunan, dan kita dapat menggunakan artefak yang sama untuk produksi yang disetujui dalam pementasan. Transisi memiliki biaya di muka yang tidak signifikan. Apakah ada cara untuk menggunakan Beanstalk dengan lebih baik yang memungkinkan CI / CD lebih andal dan mudah dikelola?
Catatan : Mempromosikan artefak bangunan yang sama persis dengan apa yang ingin saya lakukan, tetapi dari dokumen saya tidak melihat cara yang jelas untuk melakukan itu; ini menjelaskan cara menggunakan EB dari sumber aplikasi Anda, tetapi tidak bagaimana mempromosikan versi yang ada ke lingkungan lain, kecuali saya berhasil menggulir melewatinya. Jika tersedia di EB sendiri, mungkin ada batasan dalam plugin penyebaran Jenkins EB yang mencegahnya dilakukan di Jenkins secara khusus, tapi saya belum melihat cara untuk melakukannya sama sekali.