Aracılığıyla paylaş


Node.js paketi oluşturma ve yayımlama

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Azure Pipelines sürekli tümleştirme ve sürekli teslim (CI/CD) sisteminizin bir parçası olarak Node.js uygulamaları derleyebilir, test edebilir ve dağıtabilirsiniz. Node Package Manager (npm) ile bir Node.js paketi oluşturmak ve bir işlem hattı eseri yayımlamak için bir işlem hattını nasıl kullanacağınızı öğrenin.

Örnek işlem hattı, bir Node.js uygulaması oluşturma, test etme ve paketleme sürecini otomatikleştirerek daha fazla dağıtıma veya dağıtıma hazır hale getirir.

Önkoşullar

ürün Gereksinimler
Azure DevOps - Bir Azure DevOps projesi.
- Microsoft tarafından barındırılan ajanlarda pipeline'ları çalıştırma yeteneği. Paralel bir satın alabilir veya ücretsiz katman isteyebilirsiniz.
- YAML ve Azure Pipelines hakkında temel bilgiler. Daha fazla bilgi için bkz. İlk işlem hattınızı oluşturma.
- İzinleri:
     - Bir boru hattı oluşturmak için Katkıda Bulunanlar grubunda olmanız ve grubun Boru hattı oluşturma izninin İzin Ver olarak ayarlanması gerekir. Proje Yöneticileri grubunun üyeleri işlem hatlarını yönetebilir.
    - Hizmet bağlantıları oluşturmak için:hizmet bağlantıları için Yönetici veya Oluşturucu rolüne sahip olmanız gerekir.
GitHub (İngilizce) - GitHub hesabı.
- Azure Pipelines'ı yetkilendirmek için GitHub hizmet bağlantısı.
Gök mavisi Azure aboneliği.
ürün Gereksinimler
Azure DevOps - Bir Azure DevOps projesi.
- Kendi sunucusunda barındırılan bir aracı. Kendinize ait bir acente oluşturmak için Kendi Sunucunuzda Barındırılan Acenteler'e bakın.
- YAML ve Azure Pipelines hakkında temel bilgiler. Daha fazla bilgi için bkz. İlk işlem hattınızı oluşturma.
- İzinleri:
    - Bir boru hattı oluşturmak için Katkıda Bulunanlar grubunda olmanız ve grubun Boru hattı oluşturma izninin İzin Ver olarak ayarlanması gerekir. Proje Yöneticileri grubunun üyeleri işlem hatlarını yönetebilir.
    - Hizmet bağlantıları oluşturmak için:hizmet bağlantıları için Yönetici veya Oluşturucu rolüne sahip olmanız gerekir.
GitHub (İngilizce) - GitHub hesabı.
- Azure Pipelines'ı yetkilendirmek için GitHub hizmet bağlantısı.
Gök mavisi Azure aboneliği.

Örnek kodu kopyalayın

Örnek Express.js sunucu uygulamasını çatallayın.

  1. js-e2e-express-server deposuna gidin.
  2. Sayfanın sağ üst köşesindeki Çatal'ı seçin.
  3. GitHub hesabınızı seçin. Varsayılan olarak, çatal üst depoyla aynı şekilde adlandırılır, ancak buna farklı bir ad verebilirsiniz.

Önemli

Aşağıdaki yordamlar sırasında, oturum açmak, Azure Pipelines'ı yüklemek veya Azure Pipelines'ı yetkilendirmek için GitHub hizmet bağlantısı oluşturmanız veya GitHub'a yönlendirilmeniz istenebilir. İşlemi tamamlamak için ekrandaki yönergeleri izleyin. Daha fazla bilgi için bkz . GitHub depolarına erişim.

İşlem hattınızı oluşturma

  1. Azure DevOps projenizde İşlem Hatları'nı seçin, >'u seçin ve ardından kaynak kodunuzun konumu olarak GitHub'ı seçin.
  2. Depo seçme ekranında, çatalladığınız örnek deposunu seçin.
  3. İşlem hattınızı yapılandırın ekranında Başlatıcı işlem hattını seçin. Azure Pipelines, işlem hattınız için azure-pipelines.yml adlı bir YAML dosyası oluşturur.
  4. Kaydet ve çalıştır yanındaki açılır menü okunu seçin, Kaydet'i seçin, ardından tekrar Kaydet'i seçin. Dosya, çatalladığınız GitHub deposuna kaydedildi.
  5. Sonraki ekranda Düzenle'yi seçin.

Paketi oluştur ve bir ürün yayımla

azure-pipelines.yml dosyasını aşağıdaki gibi düzenleyin.

  1. Dosya içeriğini aşağıdaki kodla değiştirin.

    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'
    

Güncelleştirilmiş işlem hattında şunları yapacaksınız:

  • yükleme Node.js: UseNode@1 görevi , belirtilen Node.js sürümünü (18.x) yükler.
  • Bağımlılıkları yükleme: npm install komutu, Node.js projesi için gerekli bağımlılıkları yükler.
  • Projeyi derleme: npm run build komutu, Node.js projesini oluşturur.
  • Testleri Çalıştır: npm test komutu projenin test paketini çalıştırır.
  • Dosyaları kopyalama: CopyFiles@2 görevi , gerekli proje dosyalarını (örneğin ve src/**public/**) yapıt hazırlama dizinine kopyalar.
  • İşlem hattı yapıtını yayımlama: PublishPipelineArtifact@1 görevi , yapıt hazırlama dizinindeki dosyaları nodejs-app adlı bir işlem hattı yapıtı olarak yayımlar.

İşlem hattınızı çalıştırma

Doğrula ve kaydet'i, ardından Kaydet, Çalıştır ve Yeniden Çalıştır'ı seçin.

İşlem hattınız çalıştırıldıktan sonra, işin başarıyla yürütüldüğünü ve yayınlanmış bir yapıt gördüğünüzü onaylayın.

Artefakt içeren başarılı bir işlem hattı çalıştırmasına ait ekran görüntüsü.

Tebrikler, bir Node.js paketi oluşturup test eden bir işlem hattını başarıyla oluşturdunuz ve çalıştırdunuz. İşlem hattınızı genişletmek için şunları yapabilirsiniz:

Sonraki adımlar