Saya baru-baru ini mengambil tugas menyederhanakan dan mengotomatisasi proses dalam alur pengembangan kami, dan saya mencari saran/saran dari orang lain tentang apa yang telah dilakukan untuk masalah serupa.

Saat ini kami menggunakan TFS 2019/Azure Devops dan strategi percabangan:

Master
└ Major Version 1 QA
└ Major Version 1 Release
└ Major Version 2 QA
└ Major Version 2 Release

Kami menggunakan item kerja di TFS dan menautkannya untuk mengubah set ke cabang di atas. Biasanya, semua pekerjaan dilakukan di Master dan secara selektif digabungkan ke QA di salah satu atau kedua versi satu per satu.

Setelah diuji/diverifikasi, perubahan biasanya digabungkan secara massal ke Rilis di mana mereka menjalani putaran pengujian lain sebelum dipublikasikan.

Penggabungan ini tidak selalu secara massal, terkadang dilakukan satu per satu, terkadang perubahan digabungkan dari Main>QA>Release dalam satu kesempatan (tiga check-in untuk satu hal...).

Selain itu, kami memiliki sistem pelacakan bug terpisah yang digunakan untuk mengumpulkan laporan bug dari CSR dan sistem tersebut memberikan status kepada anggota eksternal (orang tanpa akses TFS). Pengaturan ini membutuhkan manusia untuk menduplikasi data dari TFS ke sistem eksternal (dan sebaliknya) yang merupakan inefisiensi utama yang saya coba selesaikan.

Saat ini item kerja TFS menampung semua catatan dan menyediakan hubungan dengan perubahan kode tertentu. Saya ingin memindahkan semuanya ke TFS dan membuang sistem eksternal yang menghadirkan tantangan dan pertanyaan berikut:

  1. Bagaimana saya bisa memberikan tampilan data item kerja yang dapat dicari dan hanya-baca ke non-pengembang eksternal? Selain itu, apakah TFS memiliki peran "laporkan bug" yang sederhana? Saya merasa sesuatu seperti ini seharusnya sudah ada, tetapi sepertinya saya perlu membuat atau mengidentifikasi sesuatu yang terintegrasi dengan TFS.
  2. Saat menggabungkan perubahan secara massal, asosiasi item pekerjaan individual ke perubahan kode akan hilang. Tampaknya ini adalah keluhan lama tentang TFS, dan saya pikir saya perlu membuat skrip penggabungan satu per satu untuk mencapai otomatisasi. Apakah ada cara lain?
  3. Mempertimbangkan strategi cabang di atas, setiap perubahan pada file memerlukan setidaknya 3 check-in untuk membuatnya menjadi dunia. Apakah itu strategi yang bagus? Gagasan di baliknya adalah bahwa pekerjaan dapat terus ditambahkan saat cabang Rilis dibekukan.

Informasi tambahan:

Kami adalah tim kecil yang terdiri dari 5 Pengembang dan 5 QA dengan infrastruktur eksternal 20:1 yang lebih besar yang dibangun di sekitar produk kami, itulah sebabnya saya ingin mengotomatisasi.

Terima kasih atas saran/saran Anda!

2
Dev1230 29 Februari 2020, 20:32

1 menjawab

Jawaban Terbaik

1.Ini bukan penggunaan yang direkomendasikan di TFS.

TFS tidak dimaksudkan untuk menjadi pelacak bug publik. TFS lokal menggunakan Windows AD untuk otentikasi. Layanan Azure DevOps (cloud) menggunakan akun Microsoft atau akun Organisasi (didukung oleh Azure AD).

Selain itu, tidak ada konsep membatasi item kerja tertentu untuk pengguna tertentu -- setiap pengguna yang memiliki akses untuk mengedit item kerja di area tertentu dapat mengedit semua item kerja di area tersebut.

Tautan Sumber: Dapatkah TFS digunakan sebagai alat pelaporan bug publik?

Jika Anda bersikeras untuk melakukan ini, cara yang lebih baik adalah melakukan ini dengan bantuan beberapa alat pihak ke-3. Anda dapat melihat jawaban dari Ewald Hofman PG kami dalam pertanyaan ini: Menangani bug yang ditimbulkan oleh pelanggan di TFS


2. Anda benar. Di TFS, saat Anda menggabungkan cabang, Changeset yang dihasilkan ditautkan ke semua Changeset yang digabungkan. TFS =tidak menyediakan opsi untuk memilih item pekerjaan terkait dalam dialog Gabung, kita harus menambahkan item pekerjaan secara manual di jendela Pending Changes sebelum mengklik tombol Check in untuk melakukan check-in di cabang gabungan.

Anda mungkin perlu menyesuaikan skrip untuk mencapainya. Selain itu, Anda juga dapat menggunakan atau merujuk beberapa alat/ekstensi pihak ketiga, seperti yang ini-- TFS menggabungkan plugin item kerja


3.Kami tidak bisa menilai itu strategi yang baik atau buruk. Ada baiknya jika benar-benar sesuai dengan apa yang Anda cari. Jika Anda khawatir tentang waktu check-in dan jumlah perubahan. Pertama, saat Anda menggabungkan perubahan ke Rilis. Biasanya ada beberapa perubahan. Anda tidak perlu melakukan ini jika hanya ada sedikit perubahan pada file. Dengan kata lain, Anda tidak perlu sering check-in. Anda juga dapat memilih pekerjaan yang tertunda dengan rak, tidak perlu memeriksa setiap pembaruan.

Selain itu, untuk lebih banyak pilihan, Anda dapat merujuk tautan resmi kami di sini: Pelajari tentang strategi percabangan untuk Team Foundation Version Control (TFVC) dan caranya untuk memilih strategi yang efektif

0
PatrickLu-MSFT 2 Maret 2020, 06:01