Bagikan melalui


Menyambungkan Azure DevOps Server ke GitHub (lokal)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Saat Menyambungkan proyek Azure DevOps Server ke repositori GitHub, Anda mendukung penautan antara penerapan GitHub dan permintaan pull ke item kerja. Anda dapat menggunakan GitHub untuk pengembangan perangkat lunak saat menggunakan Azure Boards untuk merencanakan dan melacak pekerjaan Anda.

Catatan

Azure DevOps Server 2020 lokal mendukung integrasi dengan repositori GitHub.com dan GitHub Enterprise Server. Jika Anda ingin menyambungkan dari Azure DevOps Services, lihat Menyambungkan Azure Boards ke GitHub.

Saat Anda menyambungkan proyek Azure DevOps Server dengan repositori GitHub Enterprise Server, Anda mendukung penautan antara penerapan GitHub dan permintaan pull ke item kerja. Anda dapat menggunakan GitHub Enterprise untuk pengembangan perangkat lunak saat menggunakan Azure Boards untuk merencanakan dan melacak pekerjaan Anda.

Catatan

Azure DevOps Server 2019 lokal mendukung integrasi dengan repositori GitHub Enterprise Server. Jika Anda ingin menyambungkan dari Azure DevOps Services, lihat Menyambungkan Azure Boards ke GitHub.

Prasyarat

  • Sambungkan ke repositori GitHub.com dengan menginstal Azure DevOps Server 2020.1.1 Patch 2. Tanpa patch ini, Anda hanya dapat terhubung ke repositori GitHub Enterprise Server Anda.
  • Instal aplikasi Azure Boards untuk GitHub di organisasi atau akun GitHub.
  • Menyambungkan ke proyek Azure Boards atau Azure DevOps. Jika Anda belum memiliki proyek, buat proyek.
  • Anda harus menjadi anggota grup Administrator Koleksi Proyek dan grup Kontributor proyek. Jika Anda membuat proyek, maka Anda memiliki izin.
  • Anda harus menjadi administrator GitHub Enterprise Server yang Anda sambungkan.

Opsi autentikasi

Opsi autentikasi berikut ini didukung.

Catatan

OAuth tidak didukung untuk Azure DevOps Server 2020.

Mendaftarkan Azure DevOps di GitHub sebagai Aplikasi OAuth

Jika Anda berencana menggunakan OAuth untuk menyambungkan Azure DevOps Server dengan GitHub Enterprise Server, Anda harus terlebih dahulu mendaftarkan aplikasi sebagai Aplikasi OAuth. Untuk informasi selengkapnya, lihat Membuat Aplikasi OAuth.

Mendaftarkan Azure DevOps Server

  1. Masuk ke portal web untuk server GitHub Enterprise Anda.

    Cuplikan layar masuk untuk GitHub Enterprise Server.

  2. Pilih Pengaturan>Pengaturan>Pengembang Aplikasi Oauth Aplikasi>OAuth Baru.

    Cuplikan layar memperlihatkan urutan untuk masuk ke layar Aplikasi OAuth Baru.

  3. Masukkan informasi Anda untuk mendaftarkan aplikasi Azure DevOps Server Anda.

    Cuplikan layar pendaftaran proyek Azure DevOps Server.

    Untuk URL Beranda, tentukan URL Publik koleksi proyek Anda. Anda dapat menemukan URL ini saat membuka Konsol Administrasi Azure DevOps dan melihat simpul Tingkat Aplikasi.

    Cuplikan layar Konsol Administrasi Server Azure DevOps, Tingkat Aplikasi.

    Untuk URL panggilan balik Otorisasi, gunakan pola berikut untuk membuat URL.

    {Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback

    Contohnya:

    http://contoso/DefaultCollection/_admin/oauth2/callback

    https://tfs.contoso.com/MyCollection/_admin/oauth2/callback

  4. Pilih Daftar aplikasi.

  5. Halaman muncul yang menyediakan ID Klien dan Rahasia Klien untuk aplikasi OAuth terdaftar Anda.

    Cuplikan layar ID Klien dan Rahasia Klien untuk aplikasi OAuth terdaftar Anda.

Mendaftarkan konfigurasi OAuth Anda di Azure DevOps Server

  1. Masuk ke portal web untuk Azure DevOps Server Anda.

  2. Tambahkan konfigurasi GitHub Enterprise Oauth ke koleksi Azure DevOps Server Anda.

  3. Pilih Pengaturan>admin konfigurasi>Oauth Tambahkan konfigurasi Oauth.

    Cuplikan layar memperlihatkan urutan langkah untuk menambahkan konfigurasi OAuth.

  4. Masukkan informasi Anda, lalu pilih Buat.

    Cuplikan layar dialog konfigurasi OAuth.

Menyambungkan Azure DevOps Server ke GitHub Enterprise Server

Anda dapat menyambungkan hingga 250 repositori GitHub ke proyek Azure Boards.

Catatan

Koneksi ke lebih dari 100 repositori GitHub memerlukan pembaruan Azure DevOps Server 2020.1 atau versi yang lebih baru.
Koneksi ke repositori GitHub.com memerlukan Azure DevOps Server 2020.1.1 Patch 2 atau versi yang lebih baru.

Anda dapat menyambungkan hingga 100 repositori GitHub ke proyek Azure Boards. Batas ini tidak dapat diubah.

  1. Buka portal web untuk Azure DevOps Server Anda.

  2. Pilih logo Azure DevOps untuk membuka Proyek, lalu pilih proyek Azure Boards yang ingin Anda konfigurasi untuk menyambungkan ke repositori GitHub Enterprise Anda.

  1. Pilih Pengaturan proyek>Koneksi GitHub.

    Cuplikan layar koneksi GitHub Pengaturan>Proyek yang terbuka.

  2. Jika ini pertama kalinya membuat koneksi dari proyek, pilih metode autentikasi yang ingin Anda gunakan untuk membuat koneksi:

    Cuplikan layar pertama kali menyambungkan dengan kredensial GitHub.

    Jika tidak, pilih Koneksi baru, dan pilih metode autentikasi Anda dari dialog Koneksi Baru.

  1. Pilih Pengaturan>proyek Koneksi>GitHub Sambungkan akun GitHub Enterprise Anda.

    Cuplikan layar pengaturan Proyek, Integrasi yang dipilih.

    Atau, pilih token akses pribadi atau nama pengguna dan kata sandi, jika Anda menggunakan kredensial tersebut.

Menyambungkan dengan OAuth

Pilih konfigurasi yang Anda siapkan di Langkah 4 dari Daftarkan konfigurasi OAuth Anda di Azure DevOps Server. Lalu, pilih Sambungkan.

Cuplikan layar untuk koneksi GitHub Enterprise Baru, dialog OAuth.

Menyambungkan dengan Token Akses Pribadi

  1. Untuk membuat PAT, lihat Membuat token akses pribadi.

    Tip

    Saat Anda membuat GitHub PAT, pastikan Anda menyertakan cakupan ini: repo, admin:repo_hook, read:user, user:email.

  2. Masukkan URL untuk server GitHub Enterprise Anda dan kredensial token akses pribadi yang dikenali oleh server tersebut. Lalu pilih Sambungkan.

Cuplikan layar masuk dengan PAT.

Menyambungkan dengan nama pengguna dan kata sandi

  1. Masukkan URL untuk server GitHub Enterprise Anda dan info masuk akun administrator yang dikenali oleh server tersebut. Lalu pilih Sambungkan.

Cuplikan layar masuk dengan nama pengguna dan kata sandi.

  1. Dialog mencantumkan semua repositori tempat Anda memiliki hak administrasi GitHub. Anda dapat beralih antara Tambang dan Semua untuk menentukan apakah orang lain muncul, lalu memeriksa yang ingin Anda tambahkan. Pilih Simpan saat Anda selesai.

    Cuplikan layar repositori untuk dipilih untuk ditambahkan.

  2. Untuk menyambungkan ke akun gitHub atau organisasi dari Azure Boards untuk pertama kalinya, Anda juga menginstal aplikasi Azure Boards untuk GitHub. Selesaikan integrasi dengan mengikuti prosedur yang diuraikan dalam Mengonfirmasi koneksi.

Mengatasi masalah koneksi

Integrasi Azure Boards-GitHub bergantung pada berbagai protokol autentikasi untuk mendukung koneksi. Perubahan pada cakupan izin pengguna atau kredensial autentikasi dapat menyebabkan pencabutan repositori GitHub yang terhubung ke Azure Boards.

Untuk gambaran umum integrasi yang didukung aplikasi Azure Boards untuk GitHub, lihat Integrasi Azure Boards-GitHub.

Opsi autentikasi yang didukung

Opsi autentikasi berikut didukung berdasarkan platform GitHub yang ingin Anda sambungkan.

Platform

GitHub.com

GitHub Enterprise Server

Azure DevOps

  • GitHub.com akun pengguna
  • Token akses pribadi (PAT)
  • OAuth
  • PAT
  • Nama pengguna ditambah kata sandi

Azure DevOps Server 2020

Tidak berlaku

  • PAT
  • Nama pengguna ditambah kata sandi

Azure DevOps Server 2019

Tidak berlaku

  • OAuth
  • PAT
  • Nama pengguna ditambah kata sandi

Catatan

Dengan aplikasi Azure Boards untuk GitHub, Azure Boards, dan Azure DevOps Services terintegrasi dengan repositori GitHub.com dan GitHub Enterprise Server. Azure DevOps Server 2019 dan versi yang lebih baru hanya mendukung integrasi dengan repositori GitHub Enterprise Server. Integrasi dengan repositori Git lainnya tidak didukung.

Mengatasi masalah akses

Ketika koneksi Azure Boards ke GitHub tidak lagi memiliki akses, itu menunjukkan status pemberitahuan di antarmuka pengguna dengan red-X. Arahkan mouse ke atas pemberitahuan dan menunjukkan bahwa kredensial tidak lagi valid. Untuk memperbaiki masalah, hapus koneksi dan buat ulang koneksi baru.

Cuplikan layar koneksi yang gagal.

Ketika koneksi Azure Boards ke GitHub tidak lagi memiliki akses, itu menunjukkan status pemberitahuan di antarmuka pengguna dengan red-X yang memiliki tipsalat seperti, Tidak dapat terhubung ke GitHub.

Pertimbangkan resolusi berikut:

  • Jika koneksi menggunakan OAuth:

    • Aplikasi Azure Boards memiliki aksesnya ditolak untuk salah satu repositori.

    • GitHub mungkin tidak tersedia/tidak dapat dijangkau. Ketidaktersebaran ini bisa disebabkan oleh pemadaman baik di layanan atau masalah infrastruktur/jaringan lokal. Anda dapat memeriksa status layanan dari tautan berikut:

      Hapus dan buat ulang koneksi ke repositori GitHub. Koneksi yang dibuat ulang ini menyebabkan GitHub meminta untuk mengotorisasi ulang Azure Boards.

  • Jika koneksi menggunakan PAT:

    • PAT mungkin telah dicabut atau cakupan izin yang diperlukan berubah dan tidak mencukupi.

    • Pengguna mungkin kehilangan izin admin pada repositori GitHub.

      Buat ulang PAT dan pastikan cakupan untuk token menyertakan izin yang diperlukan: repo, read:user, user:email, admin:repo_hook.

Memperbarui definisi XML untuk memilih jenis item kerja

Jika organisasi Anda menggunakan xml yang dihosting atau model proses XML lokal untuk menyesuaikan pengalaman pelacakan kerja, dan Anda ingin menautkan ke dan menampilkan jenis tautan GitHub dari bagian Pengembangan dalam formulir item kerja, Anda harus memperbarui definisi XML untuk jenis item kerja.

Misalnya, jika Anda ingin menautkan cerita pengguna dan bug ke GitHub menerapkan dan menarik permintaan dari bagian Pengembangan , Anda perlu memperbarui definisi XML untuk cerita pengguna dan bug.

Ikuti urutan tugas yang disediakan dalam model proses XML yang dihosting untuk memperbarui definisi XML. Untuk setiap jenis item kerja, temukan Group Label="Development" bagian , dan tambahkan dua baris berikut dalam sintaks kode berikut untuk mendukung jenis tautan eksternal: GitHub Commit dan GitHub Pull Request.

             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  

Saat diperbarui, bagian akan muncul sebagai berikut.

<Group Label="Development">  
   <Control Type="LinksControl" Name="Development">  
      <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">  
         <ListViewOptions GroupLinks="false">   
         </ListViewOptions>  
         <LinkFilters>  
             <ExternalLinkFilter Type="Build" />  
             <ExternalLinkFilter Type="Integrated in build" />  
             <ExternalLinkFilter Type="Pull Request" />  
             <ExternalLinkFilter Type="Branch" />  
             <ExternalLinkFilter Type="Fixed in Commit" />  
             <ExternalLinkFilter Type="Fixed in Changeset" />  
             <ExternalLinkFilter Type="Source Code File" />  
             <ExternalLinkFilter Type="Found in build" />  
             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  
         </LinkFilters>  
      </LinksControlOptions>  
   </Control>  
</Group>  

Langkah berikutnya