Branches¶
Gambaran Umum¶
Tampilan branch memberikan Anda gambaran umum branch-branch yang berbeda yang repository Anda miliki.

Tahap¶
Odoo.sh menawarkan tiga tahap berbeda untuk branch Anda: production, staging dan development.
Anda dapat mengubah tahap branch dengan menarik dan melepasnya ke bagian judul tahap.

Production¶
Ini adalah branch yang memiliki code pada mana production database Anda berjalan. Hanya boleh ada satu production branch.
Saat Anda mendorong commit baru di branch ini, server production Anda diupdate dengan code revisi baru dan akan di-restart.
Bila perubahan Anda memerlukan update modul, seperti perubahan di tampilan formulir, dan Anda ingin itu dilakukan secara otomatis, tingkatkan nomor versi modul di manifest-nya (__manifest__.py). Platform lalu akan melakukan update pada mana instance untuk sementara tidak dapat digunakan untuk alasan maintenance.
Metode ini sama dengan melakukan upgrade modul melalui menu App, atau melalui -u
switch dari command line.
Pada kasus di mana perubahan di commit mencegah server untuk restart, atau bila update modul gagal, server akan secara otomatis diputarbalik ke revisi kode sebelumnya yang sukses dan database juga akan di-rollback seperti sebelum update. Anda masih akan memiliki akses ke log update yang gagal, supaya Anda dapat troubleshoot.
Data demo tidak dimuat, karena tidak dimaksudkan untuk digunakan di production database. Test unit tidak dilakukan, karena akan meningkatkan waktu di mana database production tidak tersedia selama update.
Partner yang menggunakan project trial harus mengingat bahwa branch production mereka, bersama dengan semua branch staging, akan secara otomatis ditetapkan kembali ke stage development setelah 30 hari.
Staging¶
Branch staging dimaksudkan untuk menguji fitur-fitur baru Anda menggunakan data production tanpa membahayakan database production aktual dengan record ujian. Mereka akan membuat database duplikat production yang dinetralisir.
Netralisir ini termasuk:
Menonaktifkan action yang dijadwalkan. Bila Anda ingin menguji mereka, Anda dapat memicu action mereka secara manual atau mengaktifkan ulang mereka. Mohon ingat bahwa platform akan memicu mereka lebih jarang bila tidak ada orang yang menggunakan database untuk menghemat sumber daya.
Menonatkfikan email keluar dengan mencegat mereka menggunakan mailcatcher. Antarmuka untuk melihat email yang dikirim oleh database Anda akan disediakan. Dengan begini, Anda tidak harus khawatir tentang mengirimkan email testing ke kontak Anda.
Pengaturan penyedia pembayaran dan penyedia pengiriman di mode test.
Menonaktifkan layanan IAP
Database terkini akan dipastikan tetap hidup selama-lamanya, database yang lama dari branch yang sama mungkin akan mengumpulkan sampah untuk membuat ruang untuk database yang baru. Ini akan valid selama 3 bulan, setelahnya Anda akan diharapkan untuk membangun ulang branch tersebut. Bila Anda membuat konfigurasi atau melihat perubahan di database-database ini, pastikan untuk mendokumentasikan mereka atau tuliskan langsung di modul branch, menggunakan file data XML yang menimpa konfigurasi atau tampilan default.
Unit test tidak dilakukan karena, di Odoo, mereka saat ini bergantung pada data demo, yang tidak dimuat di production database. Di masa depan, bila Odoo mendukung untuk menjalankan unit test tanpa data demo, Odoo.sh lalu akan mempertimbangkan menjalankan test pada database staging.
Pengembangan¶
Development branch membuat database baru menggunakan data demo untuk menjalan unit test. Modul-modul yang diinstal adalah yang termasuk di branch Anda. Anda dapat mengubah daftar modul ini untuk diinstal di Pengaturan project Anda.
Saat Anda mendorong commit baru di salah satu branch ini, server baru akan dimulai, dengan database yang dibuat dari awal dan revisi baru branch. Data demo akan dimuat, dan unit test dilakukan secara default. Ini memverifikasi perubahan Anda supaya mereka tidak merusak fitur apapun yang diuji oleh mereka. Bila Anda ingin, Anda dapat menonaktifkan tes atau mengizinkan tes-tes tertentu untuk dijalankan dengan tag kustom di pengaturan branch.
Mirip dengan branch staging, email tidak dikirim tapi dicegat oleh mailcatcher dan action terjadwal tidak dipicu selama database tidak digunakan.
Database dibuat untuk branch development dimaksudkan untuk hidup selama tiga hari. Setelah itu, mereka dapat secara otomatis dibuat menjadi sampah untuk membuat ruang untuk database baru tanpa pemberitahuan sebelumnya.
Merging branch-branch Anda¶
Anda dapat merge branch Anda dengan mudah dengan menarik dan melepas mereka satu sama lain.

Saat Anda ingin menguji perubahan branch development Anda dengan data production, Anda dapat:
merge branch development ke branch staging Anda, dengan menarik dan melepas mereka ke branch staging yang diinginkan,
menarik dan melepas branch development pada bagian judul staging, untuk membuatnya menjadi branch staging.
Saat perubahan terakhir Anda siap untuk production, Anda dapat menarik dan melepas branch staging Anda ke branch production Anda untuk merge dan deploy di production fitur-fitur terbaru Anda.
Bila Anda sangat yakin, Anda dapat merge branch development Anda ke branch production. Ini berarti Anda melewati validasi perubahan Anda dengan data production melalui branch staging.
Anda dapat merge branch development Anda satu sama lain, dan branch staging Anda satu sama lain.
Tentu saja, Anda juga dapat menggunakan git merge
langsung pada workstation Anda untuk merge branch Anda. Odoo.sh akan dinotifikasi saat revisi-revisi baru telah didorong di branch Anda.
Merging branch staging di branch production hanya menggabungkan source code: Perubahan konfigurasi apapun yang Anda buat di database staging tidak masuk ke database production.
Bila Anda mengetes perubahan konfigurasi di branch staging, dan ingin menerapkan mereka di production, Anda harus antara:
menulis perubahan konfigurasi di file data XML untuk menimpa konfigurasi atau tampilan default di branch Anda, dan lalu meningkatkan versi modul Anda di manifest-nya (__manifest__.py) untuk memicu update modul saat Anda merging branch staging Anda di branch production. Ini adalah praktek terbaik untuk skalabilitas lebih baik bagi development Anda karena Anda akan menggunakan fitur versioning Git untuk semua perubahan konfigurasi Anda, dan oleh karena itu memiliki pelacakan untuk perubahan Anda.
menerapkan mereka secara manual dari staging Anda ke database production, dnegna menyalin/menempel.
Tab¶
Riwayat¶
Gambaran umum riwayat branch Anda:
Pesan-pesan commit dan author mereka,
Beragam acara yang terhubung ke platform, seperti perubahan tahap, impor database, pemulihan backup.

Untuk setiap acara, status ditampilkan di pojok kanan atas. Ini dapat menyediakan informasi mengenai operasi yang berlangsung pada database (penginstalan, update, impor backup, ...), atau hasilnya (tes feedback, impor backup sukses, ...). Saat operasi sukses, Anda dapat mengakses database berkat tombol connect.
Email-Email¶
Tab ini memiliki mailcatcher. Ini menampilkan gambaran umum email yang dikirim oleh database Anda. Mailcatcher ini tersedia untuk development Anda dan branch staging karena email database production Anda betul-betul dikirim alih-alih dicegat.

Shell¶
Akses shell ke kontainer Anda. Anda dapat melakukan command linux dasar (ls
, top
) dan membuka shell pada database Anda dengan mengetik psql
.

Anda dapat membuka lebih dari satutab dan tarik-dan-lepas mereka untuk mengatur layout sesuai keinginan Anda, contohnya bersebalahan.
Catatan
Instance shell yang berjalan lama tidak dijamin. Shell yang idle dapat diputuskan hubungannya kapanpun juga untuk membebaskan sumber daya.
Editor¶
Integrated development environment (IDE) yang online untuk mengedit source code. Anda juga dapat membuka terminal, console Python dan bahkan console Odoo Shell.

Anda dapat membuka lebih dari satutab dan tarik-dan-lepas mereka untuk mengatur layout sesuai keinginan Anda, contohnya bersebalahan.
Monitoring¶
Link ini memiliki beragam metric untuk memonitor build saat ini.

Anda dapat zoom, mengubah cakupan waktu atau memilih metric tertentu pada setiap grafik. Pada grafik, anotasi dapat membantu Anda menghubungkan perubahan ke build (impor database, git push, dsb...).
Log¶
Antarmuka untuk melihat log server Anda.

Log-log yang berbeda tersedia:
install.log: Log penginstalan database. Di branch development, termasuk log dari test.
pip.log: Log penginstalan ketergantungan Python.
odoo.log: Log dari menjalankan server.
update.log: Log dari update database.
pg_long_queries.log: Log dari psql queries yang membutuhkan waktu lebih banyak yang tidak normal.
Bila baris-baris baru ditambahkan di log, mereka akan ditampilkan secara otomatis. Bila Anda scroll ke paling bawah, browser akan scroll otomatis setiap kali baris baru ditambahkan.
Anda dapat pause mengambil log dengan mengeklik pada tombol yang sesuai di pojok kanan atas tampilan. Pengambilan log secara otomatis dihentikan setelah 5 menit. Anda dapat restart proses ini menggunakan tombol play.
Backup¶
Daftar backup yang tersedia untuk mengunduh dan memulihkan, kemampuan untuk melakukan backup manual dan mengimpor database.

Odoo.sh melakukan backup harian di database production. 7 backup harian, 4 mingguan dan 3 bulanan. Setiap backup termasuk dump database, yaitu filestore (lampiran, binary field), log dan sesi
Database staging dan development tidak di-backup. Anda tetap memiliki kemungkinan untuk memulihkan backup database production di branch staging, untuk tujuan testing, atau untuk secara manual memulihkan data yang tidak sengaja terhapus dari database production
Daftar memiliki backup yang disimpan di server di mana database production Anda di-hosting. Server ini hanya menyimpan satu bulan backup: 7 harian dan 4 mingguan
Server backup khusus menyimpan backup yang sama, termasuk 3 backup bulanan tambahan. Untuk memulihkan atau mengunduh salah satu backup bulanan ini, mohon hubungi kami.
Bila Anda merge commit yang mengupdate versi salah satu dari beberapa modul (di __manifest__.py
), atau ketergantungan python mereka yang terhubung (di requirements.txt
), maka Odoo.sh akan melakukan backup secara otomatis (ditandai dengan tipe Update di list), karena baik kontainer akan diubdah dengan penginstalan paket pip baru, atau database akan diubah dengan update modul yang terpicu setelahnya. Pada dua kasus tersebut, kami akan melakukan backup karena perubahan tersebut memiliki potensi untuk merusak.
Bila Anda merge commit yang hanya mengubah beberapa code tanpa modifikasi yang disebutkan di atas, backup tidak akan dilakukan oleh Odoo.sh, karena container atau database tidak akan dimodifikasi sehingga platform menganggap ini cukup aman. Tentu saja, sebagai pencegahan ekstra, Anda dapat membuat backup manual sebelum melakukan perubahan besar di sumber production Anda sebagai pengaman bila terjadi kesalahan (backup manual tersebut berlaku selama 1 minggu). Untuk menghindari penyalahgunaan, kami membatasi backup manual sebanyak 5 kali sehari.
Fitur impor database menerima arsip database di format yang disediakan oleh:
database manager Odoo standar, (tersedia untuk server Odoo on-premise di
/web/database/manager
)database manager Odoo online,
tombol unduh backup Odoo.sh backup dari tab Backups ini,
tombol unduh dump Odoo.sh di Builds view.
Upgrade¶
Tersedia untuk branch staging dan production untuk project valid.
Lihat juga
Pengaturan¶
Di sini Anda dapat menemukan beberapa pengaturan yang hanya diterapkan ke branch yang saat ini dipilih.

Perilaku setelah commit baru
Untuk branch development dan staging, Anda dapat mengubah perilaku branch setelah menerima commit baru. Secara default, branch development akan membuat build baru dan branch staging akan mengupdate build sebelumnya (lihat Production Stage). Ini berguna terutama apabila fitur yang Anda kerjakan membutuhkan setup atau konfigurasi khusus, untuk menghindari harus secara manual menyiapkannya lagi setiap kali Anda commit. Bila Anda memilih build baru untuk branch staging, ini akan membuat salinan baru dari build production setiap kali commit di-push. Branch yang dikembalikkan dari staging ke development akan secara otomatis disetel untuk 'Tidak Melakukan Apapun'.
Penginstalan modul
Pilih modul untuk diinstal secara otomatis untuk build development Anda.

Instal hanya modul-modul saya akan hanya menginstal modul-modul branch. Ini adalah opsi default. Submodul juga dikecualikan.
Penginstalan lengkap (semua modul) akan menginstal semau modul branch, termasuk modul di submodul dan semua modul standar Odoo. Saat menjalankan penginstalan lengkap, test suite dinonaktifkan.
Instal daftar modul akan hanya menginstal modul yang ditentukan di kolom input di bawah opsi ini. Nama yang ditulis adalah nama teknis modul, dan mereka harus dipisahkan koma.
Bila test diaktifkan, module suite standar Odoo dapat membutuhkan waktu sampai 1 jam. Pengaturan ini diterapkan hanya untuk build development. Build staging menduplikasikan build production dan build production hanya menginstal base.
Test suite
Untuk branch development, Anda dapat memilih untuk mengaktifkan atau menonaktifkan test suite. Secara default aktif. Saat test suite diaktifkan, Anda dapat membatasinya dengan menuliskan test tags test tags.
**Versi Odoo **
Hanya untuk branch development, Anda dapat mengubah versi Odoo, bila Anda ingin mengetes code yang diugprade atau mendevelop fitur-fitur selagi database production Anda dalam proses diupgrade ke versi lebih baru.
Sebagai tambahan, untuk setiap versi Anda memiliki dua opsi mengenai update code.
Anda dapat memilih untuk memanfaatkan perbaikan bug, keamanan dan performa terbaru secara otomatis. Sumber-sumber server Odoo akan akan diupdate secara mingguan. Ini adalah opsi 'Terkini'.
Anda dapat memilih untuk menyemat sumber-sumber Odoo ke revisi tertentu dengan memilih mereka dari daftar tanggal. Revisi akan habis masa berlaku setelah 3 bulan. Akan dinotifikasi melalui email saat tanggal habis masa berlaku mendekat dan bila Anda tidak mengambil tindakan, Anda akan secara otomatis ditetapkan ke revisi terkini.
Domain kustom
Di sini Anda dapat mengonfigurasi domain-domain tambahan untuk branch terpilih. Anda dapat menambahkan domain <name>.odoo.com lainnya atau domain kustom Anda sendiri. Untuk pilihan yang kedua Anda harus:
memiliki atau membeli nama domain,
menambahkan nama domain ke daftar ini,
di manajer nama domain registrar Anda, konfigurasikan nama domain dengan record
CNAME
yang ditetapkan ke nama domain database production Anda.
Contohnya, untuk mengaitkan www.mycompany.com ke database Anda mycompany.odoo.com:
di Odoo.sh, tambahkan www.mycompany.com di custom domain pengaturan project Anda,
di manajer nama domain Anda (contoh, godaddy.com, gandi.net, ovh.com), konfigurasikan www.mycompany.com dengan record
CNAME
dengan value mycompany.odoo.com.
Bare domain (contoh, mycompany.com) tidak diterima:
mereka hanya dapat dikonfigurasi menggunakan
A
record,A
record hanya menerima alamat IP sebagai value,alamat IP dari database Anda dapat berubah, karena upgrade, karena kegagalan hardware atau karena keinginan Anda untuk hosting database Anda di negara atau benua yang berbeda.
Oleh karena itu, bare domain bisa tiba-tiba tidak bekerja karena perubahan alamat IP ini.
Tambah lagi, bila Anda ingin masing-masing mycompany.com dan www.mycompany.com untuk bekerja dengan database Anda, memastikan URL pertama dialihkan ke yang kedua adalah salah satu praktek terbaik SEO (Lihat Provide one version of a URL to reach a document) agar memiliki satu URL dominan. Dengan begitu Anda cukup mengonfigurasi mycompany.com untuk dialihkan ke www.mycompany.com. Kebanyakan manajer domain memiliki fitur untuk mengonfigurasi pengalihan ini. Ini paling umum disebut web redirection.
HTTPS/SSL
Bila redirection dengan tepat dibuat, platform akan secara otomatis membuat sertifikat SSL dengan Let's Encrypt dalam sejam dan domain Anda akan dapat diakses melalui HTTPS.
Walau saat ini tidak mungkin untuk mengonfigurasi sertifikat SSL Anda sendiri pada platform Odoo.sh kami sedang mempertimbangkan fitur ini bila terdapat cukup banyak permintaan.
Kepatuhan terhadap SPF dan DKIM
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM (DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name settings to increase the deliverability of your outgoing emails. The configuration steps are explained in the documentation about SPF and DKIM.
Peringatan
Lupa dalam mengonfigurasi SPF atau DKIM untuk mengotorisasikan Odoo sebagai host pengirim akan berujung pada email yang Anda kirim ditandai sebagai spam di inboks kontak.
Shell commands¶
Di pojok kanan-atas tampilan, beberapa shell command tersedia.

Setiap command dapat disalin di clipboard untuk digunakan di terminal, dan beberapa dapat digunakan langsung dari Odoo.sh dengan mengeklik tombol run pada kasus di mana prompt meminta user untuk mendefinisikan placeholder seperti <URL>
, <PATH>
, ...
Klon¶
Unduh repositori Git.
$ git clone --recurse-submodules --branch master git@github.com:odoo/odoo.git
Klon repositori odoo/odoo.
--recurse-submodules
: Mengunduh submodul repositori Anda. Submodul yang termasuk di dalam submodul juga akan diunduh.--branch
: memeriksa branch tertentu dari repository, dalam kasus ini memeriksa master.
Tombol run tidak tersedia untuk command ini, karena dimaksudkan untuk digunakan pada mesin-mesin Anda.
Fork¶
Buat branch baru berdasarkan branch saat ini.
$ git checkout -b feature-1 master
Membuat branch baru bernama feature-1 berdasarkan branch master, lalu checkout.
$ git push -u origin feature-1
Mengunggah branch baru feature-1 ada repository remot Anda.
Merge¶
Merge branch saat ini di branch lain.
$ git merge staging-1
Merge branch staging-1 di branch saat ini.
$ git push -u origin master
Mengunggah perubahan yang baru Anda tambahkan di branch master pada repositori remot Anda.
SSH¶
Setup¶
Untuk dapat menggunakan SSH, Anda harus setup profil SSH public key Anda (bila belum dilakukan). Untuk melakukan hal tersebut, ikuti langkah-langkah berikut:
Salin SSH key ke clipboard Anda (hanya ikuti langkah 1)
Tempel konten yang disalin ke profil SSH key Anda dan pencet "Tambahkan"
Key harusnya muncul di bawah
Koneksi¶
Untuk mengakses build Anda menggunakan ssh gunakan command berikut di terminal:
$ ssh <build_id>@<domain>
Anda akan menemukan shortcut untuk command ini di tab SSH di pojok kanan atas.

Selama Anda memiliki hak akses yang benar pada project, Anda akan diberikan akses ssh ke build.
Catatan
Koneksi ssh tidak didukung dalam jangka waktu ynag lama. Koneksi yang idle dapat diputuskan hubungannya untuk membebaskan sumber daya.
Submodul¶
Tambahkan branch dari repository lain di branch Anda saat ini sebagai submodul.
Submodul memungkinkan Anda untuk menggunakan modul dari repositori-repositori lainnya di project Anda.
Fitur submodul dirincikan di bab Submodul di dokumentasi ini.
$ git submodule add -b master <URL> <PATH>
Menambahkan branch master dari repository <URL> sebagai submodul di bawah path <PATH> di branch Anda saat ini.
$ git commit -a
Commit semua perubahan Anda saat ini.
$ git push -u origin master
Mengunggah perubahan yang baru Anda tambahkan di branch master pada repositori remot Anda.
Hapus¶
Menghapus branch dari repositori Anda.
$ git push origin :master
Menghapus branch di repositori remot Anda.
$ git branch -D master
Menghapus branch di salinan lokal repositori.