Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan strategi percabangan GitHub Flow untuk lingkungan multi-akun DevOps
Mike Stephens dan Abhilash Vinod, Amazon Web Services
Ringkasan
Saat mengelola repositori kode sumber, strategi percabangan yang berbeda memengaruhi pengembangan perangkat lunak dan proses rilis yang digunakan tim pengembangan. Contoh strategi percabangan umum termasuk Trunk, GitHub Flow, dan Gitflow. Strategi-strategi ini menggunakan cabang yang berbeda, dan kegiatan yang dilakukan di setiap lingkungan berbeda. Organizations yang menerapkan DevOps proses akan mendapat manfaat dari panduan visual untuk membantu mereka memahami perbedaan antara strategi percabangan ini. Menggunakan visual ini di organisasi Anda membantu tim pengembangan menyelaraskan pekerjaan mereka dan mengikuti standar organisasi. Pola ini memberikan visual ini dan menjelaskan proses penerapan strategi percabangan GitHub Flow di organisasi Anda.
Pola ini merupakan bagian dari rangkaian dokumentasi tentang memilih dan menerapkan strategi DevOps percabangan untuk organisasi dengan banyak Akun AWS. Seri ini dirancang untuk membantu Anda menerapkan strategi dan praktik terbaik yang benar sejak awal, untuk merampingkan pengalaman Anda di cloud. GitHub Flow hanyalah salah satu strategi percabangan yang mungkin dapat digunakan organisasi Anda. Seri dokumentasi ini juga mencakup model percabangan Trunk dan Gitflow. Jika Anda belum melakukannya, kami sarankan Anda meninjau Memilih strategi percabangan Git untuk DevOps lingkungan multi-akun sebelum menerapkan panduan dalam pola ini. Harap gunakan uji tuntas untuk memilih strategi percabangan yang tepat untuk organisasi Anda.
Panduan ini menyediakan diagram yang menunjukkan bagaimana organisasi dapat menerapkan strategi GitHub Flow. Disarankan agar Anda meninjau Panduan AWS DevOps Well-Architected untuk meninjau praktik terbaik. Pola ini mencakup tugas, langkah, dan batasan yang direkomendasikan untuk setiap langkah dalam DevOps proses.
Prasyarat dan batasan
Prasyarat
Git, diinstal
. Ini digunakan sebagai alat repositori kode sumber. Draw.io, diinstal.
Aplikasi ini digunakan untuk melihat dan mengedit diagram.
Arsitektur
Arsitektur target
Diagram berikut dapat digunakan seperti kotak Punnettfeature
cabang melalui penerapan dalam produksi.

Untuk informasi selengkapnya tentang Akun AWS, lingkungan, dan cabang dalam pendekatan GitHub Flow, lihat Memilih strategi percabangan Git untuk lingkungan multi-akun DevOps .
Otomatisasi dan skala
Integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) is the process of automating the software release lifecycle. It automates much or all of the manual processes traditionally required to get new code from an initial commit into production. A CI/CD pipeline encompasses the sandbox, development, testing, staging, and production environments. In each environment, the CI/CD pipeline provisions any infrastructure that is needed to deploy or test the code. By using CI/CD, development teams can make changes to code that are then automatically tested and deployed. CI/CDjaringan pipa juga menyediakan tata kelola dan pagar pembatas untuk tim pengembangan dengan menegakkan konsistensi, standar, praktik terbaik, dan tingkat penerimaan minimal untuk penerimaan dan penerapan fitur. Untuk informasi selengkapnya, lihat Mempraktikkan Integrasi Berkelanjutan dan Pengiriman Berkelanjutan di AWS.
AWS menawarkan serangkaian layanan pengembang yang dirancang untuk membantu Anda membangun CI/CD jaringan pipa. Misalnya, AWS CodePipelineadalah layanan pengiriman berkelanjutan yang dikelola sepenuhnya yang membantu Anda mengotomatiskan saluran pipa rilis untuk pembaruan aplikasi dan infrastruktur yang cepat dan andal. AWS CodeBuildmengkompilasi kode sumber, menjalankan tes, dan menghasilkan paket ready-to-deploy perangkat lunak. Untuk informasi selengkapnya, lihat Alat Pengembang di AWS
Alat
AWS layanan dan alat
AWS menyediakan serangkaian layanan pengembang yang dapat Anda gunakan untuk menerapkan pola ini:
AWS CodeArtifactadalah layanan repositori artefak terkelola yang sangat skalabel yang membantu Anda menyimpan dan berbagi paket perangkat lunak untuk pengembangan aplikasi.
AWS CodeBuildadalah layanan build terkelola penuh yang membantu Anda mengkompilasi kode sumber, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan.
AWS CodeDeploymengotomatiskan penerapan ke Amazon Elastic Compute Cloud (Amazon EC2) atau instans, fungsi AWS Lambda , atau layanan Amazon Elastic Container Service (Amazon ECS) atau lokal.
AWS CodePipelinemembantu Anda dengan cepat memodelkan dan mengkonfigurasi berbagai tahapan rilis perangkat lunak dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perubahan perangkat lunak secara terus menerus.
Alat-alat lainnya
Draw.io Desktop
adalah aplikasi untuk membuat diagram alur dan diagram. Repositori kode berisi template dalam format.drawio untuk Draw.io. Figma
adalah alat desain online yang dirancang untuk kolaborasi. Repositori kode berisi template dalam format.fig untuk Figma.
Repositori kode
File sumber untuk diagram dalam pola ini tersedia di GitHub Git Branching Strategy for GitHub Flow
Praktik terbaik
Ikuti praktik dan rekomendasi terbaik dalam Panduan AWS DevOps Well-Architected dan Memilih strategi percabangan Git untuk lingkungan multi-akun. DevOps Ini membantu Anda menerapkan pengembangan GitHub berbasis Flow secara efektif, mendorong kolaborasi, meningkatkan kualitas kode, dan merampingkan proses pengembangan.
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Tinjau proses GitHub Flow standar. |
| DevOps insinyur |
Tinjau proses GitHub Alur perbaikan bug. |
| DevOps insinyur |
Tinjau proses GitHub Flow hotfix. | GitHub Flow dirancang untuk memungkinkan pengiriman berkelanjutan, di mana perubahan kode sering dan andal digunakan ke lingkungan yang lebih tinggi. Kuncinya adalah bahwa setiap
| DevOps insinyur |
Pemecahan Masalah
Isu | Solusi |
---|---|
Konflik cabang | Masalah umum yang dapat terjadi dengan model GitHub Flow adalah di mana perbaikan terbaru perlu terjadi dalam produksi tetapi perubahan yang sesuai perlu terjadi di |
Kedewasaan tim | GitHub Flow mendorong penyebaran harian ke lingkungan yang lebih tinggi, merangkul integrasi berkelanjutan sejati dan pengiriman berkelanjutan (CI/CD). Sangat penting bahwa tim memiliki kematangan teknik untuk membangun fitur dan membuat tes otomatisasi untuk mereka. Tim harus melakukan peninjauan permintaan gabungan lengkap sebelum perubahan disetujui. Ini menumbuhkan budaya teknik yang kuat yang mempromosikan kualitas, akuntabilitas, dan efisiensi dalam proses pengembangan. |
Sumber daya terkait
Panduan ini tidak termasuk pelatihan untuk Git; namun, ada banyak sumber daya berkualitas tinggi yang tersedia di internet jika Anda memerlukan pelatihan ini. Kami menyarankan Anda memulai dengan situs dokumentasi Git
Sumber daya berikut dapat membantu Anda dengan perjalanan percabangan GitHub Flow Anda di. AWS Cloud
AWS DevOps bimbingan
GitHub Panduan aliran
Sumber daya lainnya
Metodologi aplikasi dua belas faktor
(12factor.net)