Latihan - Membuat alur untuk paket Anda
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 .
Buka instans kedua Visual Studio Code.
Buka terminal terintegrasi di Visual Studio Code.
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:
- Dari browser web, buka GitHub, dan masuk.
- Buka proyek mslearn-tailspin-spacegame-web-models.
- Pilih Fork.
- 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:
Pada GitHub, buka fork proyek mslearn-tailspin-spacegame-web-models.
Pilih Kode. Kemudian, dari tab HTTPS, pilih tombol di samping URL yang ditampilkan untuk menyalin URL ke clipboard Anda.
Dari Visual Studio Code, buka jendela terminal, dan jalankan perintah ini
git clone
. Ganti URL yang ditampilkan dengan konten clipboard Anda.git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-models.git
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.
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.
Buka kembali terminal terintegrasi. Terminal menempatkan Anda di akar proyek web Anda.
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.
- Buka proyek Anda di Azure DevOps.
- Pilih Artefak dari menu di sebelah kiri.
- Pilih ikon Pengaturan di kanan atas layar, lalu pilih tab Izin.
- Pilih tombol Tambahkan pengguna/grup .
- 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.
Dari Azure DevOps, buka proyek Space Game - web - Dependensi.
Dari menu di sebelah kiri, pilih Alur.
Pilih Alur Baru.
Dari tab Sambungkan pilih GitHub.
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.
Dari tab Tinjau, Anda akan melihat file azure-pipelines.yml alur baru.
Pilih Jalankan.
Tonton alur berjalan.
Buka tab Artefak.
Dari menu dropdown di bagian atas, pilih Tailspin.SpaceGame.Web.Models.
Anda melihat paket yang dihasilkan, Tailspin.SpaceGame.Web.Models, di Azure Artifacts.
Pilih paket untuk masuk ke halaman detail. Kemudian, salin nomor versi ke lokasi tempat Anda dapat dengan mudah mengaksesnya nanti.
Anda akan menggunakan nomor versi ini di unit berikutnya.