Latihan - Membuat alur untuk paket Anda

Selesai

Di sini, Anda akan mendapatkan kode baru tim untuk proyek Tailspin.SpaceGame.Web.Models yang sekarang terpisah dari proyek Tailspin.SpaceGame.Web . Anda akan membuat proyek Azure Pipelines untuk proyek Model dan melihat artefak di Azure Artifacts dengan nomor versi 1.0.0 di umpan Anda.

Perubahan apa yang dilakukan pada proyek?

Ingat bahwa situs web Space Game adalah aplikasi ASP.NET Core. Ini menggunakan pola Model-View-Controller (MVC) untuk memisahkan data dari bagaimana data tersebut ditampilkan di antarmuka pengguna. Andy dan Mara ingin memindahkan kelas model ke pustaka terpisah sehingga beberapa proyek dapat menggunakan kelas tersebut.

Untuk melakukannya, mereka membuat proyek C# baru yang disebut Tailspin.SpaceGame.Web.Models yang hanya berisi kelas model. Pada saat yang sama, mereka menghapus kelas model dari proyek yang ada, Tailspin.SpaceGame.Web. Mereka mengganti kelas model dalam proyek yang ada dengan referensi ke proyek Tailspin.SpaceGame.Web.Models.

Untuk membangun proyek-proyek ini, Andy dan Mara menggunakan dua alur, satu untuk setiap proyek. Anda sudah memiliki proyek pertama dan konfigurasi Azure Pipelines terkait. Di sini, Anda akan membuat fork proyek kedua di GitHub dan membuat konfigurasi Azure Pipelines untuk membangunnya. Anda akan menerbitkan paket yang dihasilkan ke Azure Artifacts.

Menyiapkan Visual Studio Code

Sebelumnya, Anda menyiapkan Visual Studio Code untuk bekerja dengan proyek Tailspin.SpaceGame.Web. Di sini, Anda akan membuka instans kedua Visual Studio Code sehingga Anda dapat bekerja dengan proyek Tailspin.SpaceGame.Web.Models .

  1. Buka instans kedua Visual Studio Code.

  2. Buka terminal terintegrasi di Visual Studio Code.

  3. Navigasi ke direktori induk tempat proyek mslearn-tailspin-spacegame-web Anda berada. Berikut adalah contoh yang berpindah ke direktori beranda Anda:

    cd ~
    

Dapatkan kode sumber

Dapatkan kode sumber untuk proyek Tailspin.SpaceGame.Web.Models dari GitHub dan siapkan Visual Studio Code sehingga Anda dapat bekerja dengan file.

Membuat fork

Langkah pertama adalah fork repositori mslearn-tailspin-spacegame-web-models sehingga Anda dapat bekerja dengan dan memodifikasi file sumber. Ingatlah bahwa Mara menempatkan direktori Model dalam proyek baru dan menghapusnya dari proyek web.

Untuk fork proyek mslearn-tailspin-spacegame-web-models ke akun GitHub Anda:

  1. Dari browser web, buka GitHub, dan masuk.
  2. Buka proyek mslearn-tailspin-spacegame-web-models.
  3. Pilih Fork.
  4. Untuk membuat fork repositori ke akun Anda, ikuti instruksinya.

Mengkloning fork Anda secara lokal

Untuk mengkloning proyek mslearn-tailspin-spacegame-web-models ke komputer Anda:

  1. Pada GitHub, buka fork proyek mslearn-tailspin-spacegame-web-models.

  2. Pilih Kode. Kemudian, dari tab HTTPS, pilih tombol di samping URL yang ditampilkan untuk menyalin URL ke clipboard Anda.

    Screenshot showing the URL and copy button from the GitHub repository.

  3. Dari Visual Studio Code, buka jendela terminal, dan jalankan perintah inigit clone. Ganti URL yang ditampilkan dengan konten clipboard Anda.

    git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-models.git
    
  4. Pindah ke direktori mslearn-tailspin-spacegame-web-models. Ini adalah direktori akar repositori Anda.

    cd mslearn-tailspin-spacegame-web-models
    

Buka proyek dan periksa konfigurasi

Di Visual Studio Code, jendela terminal Anda menunjuk ke direktori akar proyek mslearn-tailspin-spacegame-web-models. Buka proyek dari file explorer sehingga Anda dapat melihat strukturnya dan bekerja dengan file.

  1. Cara termudah untuk membuka proyek adalah membuka kembali Visual Studio Code di direktori saat ini. Untuk melakukannya, jalankan perintah berikut dari terminal terintegrasi:

    code -r .
    

    Anda melihat direktori dan pohon file di penjelajah file.

  2. Buka kembali terminal terintegrasi. Terminal menempatkan Anda di akar proyek web Anda.

  3. Buka file azure-pipelines.yml.

    Anda melihat langkah-langkah di mana paket dibuat, versi diatur, dan paket ditambahkan ke Azure Artifacts.

    Tugas DotNetCoreCLI@2 ini membangun proyek:

    - task: DotNetCoreCLI@2
      displayName: 'Build the project - $(buildConfiguration)'
      inputs:
        command: 'build'
        arguments: '--no-restore --configuration $(buildConfiguration)'
        projects: '**/*.csproj'
    

    Tugas ini DotNetCoreCLI@2 mengemas proyek dengan versi 1.0.0:

    - task: DotNetCoreCLI@2
      displayName: 'Pack the project - $(buildConfiguration)'
      inputs:
        command: 'pack'
        projects: '**/*.csproj'
        arguments: '--no-build --configuration $(buildConfiguration)'
        versioningScheme: byPrereleaseNumber
        majorVersion: '1'
        minorVersion: '0'
        patchVersion: '0'
    

    Saat mengembangkan paket Anda, umum untuk menggunakan skema penerapan versi byPrereleaseNumber. Ini menambahkan akhiran pra-rilis unik seperti "-CI-20190621-042647" ke akhir nomor versi. Mengikuti contoh ini, nomor versi lengkapnya adalah "1.0.0-CI-20190621-042647".

    Tugas ini NuGetCommand@2 mendorong paket ke umpan Tailspin.SpaceGame.Web.Models Azure Artifacts Anda:

    - task: NuGetCommand@2
      displayName: 'Publish NuGet package'
      inputs:
        command: push
        feedPublish: '$(System.TeamProject)/Tailspin.SpaceGame.Web.Models'
        allowPackageConflicts: true
      condition: succeeded()
    

    feedPublish menentukan nama umpan yang akan diterbitkan. Format nama adalah <projectName>/<feedName>, di mana:

    • $(System.TeamProject) adalah variabel yang telah ditentukan sebelumnya yang mengacu pada nama proyek Anda; misalnya, "Space Game - web - Dependensi".
    • Tailspin.SpaceGame.Web.Models adalah nama umpan yang Anda berikan di latihan sebelumnya.

Mengatur izin

Sebelum dapat menyiapkan dan menjalankan alur, Anda perlu memberi layanan Build izin yang benar.

  1. Buka proyek Anda di Azure DevOps.
  2. Pilih Artefak dari menu di sebelah kiri.
  3. Pilih ikon Pengaturan di kanan atas layar, lalu pilih tab Izin.
  4. Pilih tombol Tambahkan pengguna/grup .
  5. Di bidang Pengguna/Grup, masukkan Space Game - web - Dependensi Build Service, pilih peran Kontributor, dan pilih Simpan.

Buat alur di Azure Pipelines

Anda mempelajari cara menyiapkan Azure Pipelines di modul sebelumnya. Jika Anda memerlukan penyegaran, buka Membuat alur build dengan Azure Pipelines.

Berikut cara menyiapkan alur kedua untuk membangun paket, dan mengunggah paket tersebut ke Azure Artifacts.

  1. Dari Azure DevOps, buka proyek Space Game - web - Dependensi.

  2. Dari menu di sebelah kiri, pilih Alur.

  3. Pilih Alur Baru.

  4. Dari tab Sambungkan pilih GitHub.

  5. Dari tab Pilih, pilih mslearn-tailspin-spacegame-web-models.

    Jika diminta, masukkan info masuk GitHub Anda. Dari halaman yang muncul, gulir ke bagian bawah, dan pilih Setujui dan instal.

  6. Dari tab Tinjau, Anda akan melihat file azure-pipelines.yml alur baru.

  7. Pilih Jalankan.

  8. Tonton alur berjalan.

  9. Buka tab Artefak.

  10. Dari menu dropdown di bagian atas, pilih Tailspin.SpaceGame.Web.Models.

    A screenshot showing the location of the package from the dropdown.

    Anda melihat paket yang dihasilkan, Tailspin.SpaceGame.Web.Models, di Azure Artifacts.

    A screenshot of the package in Azure Artifacts, showing version 1.0 of the package.

  11. Pilih paket untuk masuk ke halaman detail. Kemudian, salin nomor versi ke lokasi tempat Anda dapat dengan mudah mengaksesnya nanti.

    A screenshot of Azure Artifacts showing package details. Highlighted is the version number for the package.

    Anda akan menggunakan nomor versi ini di unit berikutnya.