Build

Overview

Di Odoo.sh, build dianggap sebagai database yang dimuat oleh server Odoo (odoo/odoo & odoo/enterprise) yang berjalan pada revisi tertentu dari repositori project Anda di dalam containerized environment. Tujuannya adalah untuk mengetes perilaku baik server, database dan fitur dengan revisi ini.

../../../_images/interface-builds.png

Di tampilan ini, baris mewakili branch, dan cell dari baris mewakili build branch ini.

Untuk sebagian besar waktu, build dibuat mengikuti push pada branch repositori Github Anda. Mereka juga dapat dibuat saat Anda melakukan operasi lainnya, seperti mengimpor database pada Odoo.sh atau meminta rebuild untuk branch di project Anda.

Build dianggap sukses bila tidak ada error atau peringatan yang muncul selama pembuatannya. Build yang sukses di highlight dengan warna hijau.

Build dianggap gagal bila terdapat error pada selama pembuatannya. Build yang gagal di highlight dengan warna merah.

Bila peringatan muncul selama proses pembuatan, tapi tidak ada error, build dianggap nyaris sukses. Build akan di highlight dengan warna kuning untuk menotifikasi developer bahwa terdapat peringatan.

Build tidak selalu membuat database dari nol. Contohnya, saat melakukan push perubahan di branch production, build yang dibuat hanya memulai server dengan revisi baru Anda dan mencoba memuat database production saat ini ke build tersebut. Bila tidak ada error, build dianggap sukses, dan bila tidak dianggap gagal.

Tahap

Produksi

Build pertama dari branch production membuat database dari nol. Bila build ini sukses, database ini dianggap sebagai database production project Anda.

Dari situ, push pada branch production akan membuat build-build baru yang mencoba memuat database menggunakan server yang berjalan dengan revisi baru.

Bila build sukses, atau memiliki warning tapi tanpa error, database production akan berjalan dengan build tersebut, dengan revisi-revisi terkait build tersebut.

Bila build gagal untuk memuat atau mengupdate database, maka build sebelumnya yang sukses akan digunakan lagi untuk memuat database, dan oleh karena itu database akan berjalan menggunakan server yang menjalankan revisi yang sukses sebelumnya.

Build yang digunakan untuk menjalankan database production selalu adalah build pertama di list. Bila build gagal, akan ditaruh setelah build yang saat ini menjalankan database production.

Staging

Build staging menduplikasikan database production, dan mencoba memuat duplikat ini dengan revisi dari branch staging

Setiap kali Anda push revisi baru pada branch staging, build yang dibuat menggunakan salinan baru database production. Database-database tidak digunakan-ulang di antara build dengan branch yang sama. Ini memastikan:

  • build staging menggunakan database yang mirip dengan production, supaya Anda tidak melakukan tes dengan data yang lampau,

  • Anda dapat mengutak atik sesuka hati Anda di database staging yang sama, dan lalu Anda dapat meminta rebuild saat Anda ingin restart dengan salinan baru production.

Kendati demikian, ini berarti bila Anda melakukan perubahan konfigurasi di database staging dan tidak menerapkan mereka di production, mereka tidak akan diturunkan ke build berikutnya untuk branch staging yang sama.

Pengembangan

Build development membuat database baru, memuat data demo dan menjalankan unit test.

Build akan dianggap gagal dan di highlight dengan warna merah bila test gagal selama penginstalan, karena mereka dimaksudkan untuk memunculkan error bila terjadi kesalahan.

Bila lulus semua tes, dan tidak terdapat error, build dianggap sukes.

Menurut daftar modul untuk diinstal dan dites, build development dapat mengambil waktu sampai 1 jam sebelum siap. Ini oleh karena banyaknya jumlah test yang secara default ditetapkan di Odoo modules suite.

Fitur

Branch production akan selalu muncul duluan, lalu branch-branch lainnya akan diurutkan berdasarkan build terakhir yang dibuat. Anda dapat memfilter branch-branch Anda.

../../../_images/interface-builds-branches.png

Untuk setiap branch, Anda dapat mengakses database build terakhir menggunakan link Connect dan memasuki kode branch menggunakan link Github. Untuk branch-branch lain selain production, Anda dapat membuat build baru yang akan menggunakan revisi terkini dari branch menggunakan link rebuild. Link terakhir ini tidak tersedia saat sudah ada build yang sedang berlangsung untuk branch.

../../../_images/interface-builds-build.png

Untuk setiap build, Anda dapat mengakses perubahan revisi menggunakan tombol dengan ikon Github. Anda dapat mengakses database build sebagai administrator menggunakan tombol Connect. Anda juga dapat mengakses database dengan user lain menggunakan tombol Connect as, di menu dropdown dari tombol Connect.

../../../_images/interface-builds-build-dropdown.png

Di menu dropdown build, Anda dapat mengakses fitur-fitur yang sama dengan di tampilan branch: Logs, Web Shell, Editor, Outgoing e-mails. Anda juga memiliki pilihan untuk Mengunduh dump database build.