Bagikan melalui


Membuat dan menerbitkan paket Node.js

Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Anda dapat membangun, menguji, dan menyebarkan aplikasi Node.js sebagai bagian dari sistem integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) Azure Pipelines Anda. Pelajari cara menggunakan pipeline guna membuat paket Node.js dengan Node Package Manager (npm) dan menerbitkan artefak pipeline.

Contoh alur mengotomatiskan proses membangun, menguji, dan mengemas aplikasi Node.js, membuatnya siap untuk penyebaran atau distribusi lebih lanjut.

Prasyarat

Produk Persyaratan
Azure DevOps - Proyek Azure DevOps.
- Kemampuan untuk menjalankan pipeline pada agen yang di-host oleh Microsoft. Anda dapat membeli pekerjaan paralel atau Anda dapat meminta tingkat layanan gratis.
- Pengetahuan dasar tentang YAML dan Azure Pipelines. Untuk informasi selengkapnya, lihat Buat pipa pertama Anda.
- Izin:
     - Untuk membuat alur: Anda harus berada di grup Kontributor dan grup harus mengatur izin Buat alur build ke Izinkan. Anggota grup Administrator Proyek dapat mengelola alur.
    - Untuk membuat koneksi layanan: Anda harus memiliki peran Administrator atau Creator untuk koneksi layanan .
GitHub - Akun GitHub.
- Koneksi layanan GitHub untuk mengotorisasi Azure Pipelines.
Azure Sebuah langganan Azure.
Produk Persyaratan
Azure DevOps - Proyek Azure DevOps.
- Agen mandiri. Untuk membuatnya, lihat Agen yang di-host sendiri.
- Pengetahuan dasar tentang YAML dan Azure Pipelines. Untuk informasi selengkapnya, lihat Buat pipa pertama Anda.
- Izin:
    - Untuk membuat alur: Anda harus berada di grup Kontributor dan grup harus mengatur izin Buat alur build ke Izinkan. Anggota grup Administrator Proyek dapat mengelola alur.
    - Untuk membuat koneksi layanan: Anda harus memiliki peran Administrator atau Creator untuk koneksi layanan .
GitHub - Akun GitHub.
- Koneksi layanan GitHub untuk mengotorisasi Azure Pipelines.
Azure Sebuah langganan Azure.

Fork (salin dan modifikasi) kode sampel

Lakukan fork pada aplikasi server Express.js contoh.

  1. Pergi ke repositori js-e2e-express-server.
  2. Pilih Fork di sudut kanan atas halaman.
  3. Pilih akun GitHub Anda. Secara default, fork diberi nama yang sama dengan repositori induk, tetapi Anda dapat memberinya nama yang berbeda.

Penting

Selama prosedur berikut, Anda mungkin diminta untuk membuat koneksi layanan GitHub atau dialihkan ke GitHub untuk masuk, menginstal Azure Pipelines, atau mengotorisasi Azure Pipelines. Ikuti instruksi di layar untuk menyelesaikan proses. Untuk informasi selengkapnya, lihat Akses ke repositori GitHub.

Membangun alur Anda

  1. Di proyek Azure DevOps Anda, pilih Alur>Buat Alur, lalu pilih GitHub sebagai lokasi kode sumber Anda.
  2. Pada layar Pilih sebuah repositori, pilih repositori sampel fork Anda.
  3. Pada layar Konfigurasikan alur Anda, pilih Alur pemula. Azure Pipelines menghasilkan file YAML bernama azure-pipelines.yml untuk alur Anda.
  4. Pilih tanda dropdown di samping Simpan dan jalankan, pilih Simpan, lalu pilih Simpan lagi. File disimpan ke repositori GitHub fork Anda.
  5. Pada layar berikutnya, pilih Edit.

Buat paket dan terbitkan artefak

Edit file azure-pipelines.yml sebagai berikut.

  1. Ganti konten file dengan kode berikut.

    trigger:
      - main
    
    pool:
      vmImage: 'ubuntu-latest'
    
    variables:
      nodeVersion: '18.x'
    
    steps:
      # Install Node.js
      - task: UseNode@1
        inputs:
          version: $(nodeVersion)
        displayName: 'Install Node.js'
    
      # Install dependencies
      - script: |
          npm install
        displayName: 'Install dependencies'
    
      # Build the project
      - script: |
          npm run build
        displayName: 'Build project'
    
      # Run tests
      - script: |
          npm test
        displayName: 'Run tests'
    
      # Copy project files to artifact staging directory
      - task: CopyFiles@2
        inputs:
          sourceFolder: '$(Build.SourcesDirectory)'
          contents: |
            src/**
            public/**
          targetFolder: '$(Build.ArtifactStagingDirectory)'
        displayName: 'Copy project files'
    
      # Publish pipeline artifact
      - task: PublishPipelineArtifact@1
        inputs:
          artifactName: 'nodejs-app'
          targetPath: '$(Build.ArtifactStagingDirectory)'
        displayName: 'Publish pipeline artifact'
    

Dalam alur yang diperbarui, Anda akan:

  • Instal Node.js: Tugas UseNode@1 menginstal versi Node.js yang ditentukan (18.x).
  • Menginstal dependensi: Perintah penginstalan npm menginstal dependensi yang diperlukan untuk proyek Node.js.
  • Membangun proyek: Perintah npm run build digunakan untuk membangun proyek Node.js.
  • Jalankan Pengujian: Perintah pengujian npm menjalankan rangkaian pengujian proyek.
  • Salin file: Tugas CopyFiles@2 menyalin file proyek yang diperlukan (misalnya, src/** dan public/**) ke direktori penahapan artefak.
  • Menerbitkan artefak alur: Tugas PublishPipelineArtifact@1 menerbitkan file dari direktori penahapan artefak sebagai artefak alur bernama nodejs-app.

Jalankan alur Anda

Pilih Validasi dan simpan, lalu Simpan, Jalankan, dan Jalankan lagi.

Setelah pipeline Anda berjalan, verifikasi bahwa tugas berhasil dijalankan dan Anda melihat artefak yang diterbitkan.

Cuplikan layar eksekusi alur yang berhasil dengan artefak.

Selamat, Anda berhasil membuat dan menjalankan alur yang membangun dan menguji paket Node.js. Untuk memperluas alur kerja, Anda dapat:

Langkah berikutnya