

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Lampiran: Contoh ADR
<a name="appendix"></a>

**Judul**

Keputusan ini mendefinisikan pendekatan siklus hidup pengembangan perangkat lunak untuk pengembangan aplikasi ABC.

**Status**

Diterima

**Tanggal**

2022-03-11

**Konteks**

Aplikasi ABC adalah solusi paket, yang akan digunakan ke lingkungan pelanggan dengan menggunakan paket penyebaran. Kita perlu memiliki proses pengembangan yang memungkinkan kita memiliki fitur yang dapat dikontrol, perbaikan terbaru, dan saluran rilis.

**Keputusan**

Kami menggunakan versi [GitFlowalur kerja](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) yang disesuaikan untuk mengembangkan aplikasi ABC.

![\[GitFlow alur kerja, disesuaikan untuk aplikasi sampel ABC\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/architectural-decision-records/images/gitflow-workflow.png)


Untuk mempermudah, kami tidak akan menggunakan `release/*` cabang `hotfix/*` dan, karena aplikasi ABC akan dikemas alih-alih dikerahkan ke lingkungan tertentu. Untuk alasan ini, tidak perlu kompleksitas tambahan yang mungkin mencegah kami bereaksi dengan cepat untuk memperbaiki bug dalam rilis produksi, atau menguji rilis di lingkungan terpisah.

Berikut ini adalah strategi percabangan yang disepakati:
+ Setiap repositori harus memiliki `main` cabang yang dilindungi yang akan digunakan untuk menandai rilis.
+ Setiap repositori harus memiliki `develop` cabang yang dilindungi untuk semua pekerjaan pengembangan yang sedang berlangsung.

**Konsekuensi**

Positif:
+  GitFlow Proses yang disesuaikan akan memungkinkan kita untuk mengontrol versi rilis aplikasi ABC.

Negatif:
+ GitFlow lebih rumit daripada pengembangan atau GitHub aliran berbasis batang dan memiliki lebih banyak overhead.

**Kepatuhan**
+ `develop`Cabang-cabang `main` dan di setiap repositori harus ditandai sebagai. `Protected`
+ Perubahan pada `develop` cabang `main` dan harus disebarkan dengan menggunakan permintaan gabungan.
+ Setidaknya satu persetujuan diperlukan untuk setiap permintaan penggabungan.

**Catatan**
+ Penulis: Jane Doe
+ Versi: 0.1
+ Changelog: 
  + 0.1: Versi awal yang diusulkan