Rumah  >  Artikel  >  hujung hadapan web  >  Nota Pembangun: Konfigurasikan saluran paip CI/CD untuk projek js nod anda menggunakan Azure dan Github Actions

Nota Pembangun: Konfigurasikan saluran paip CI/CD untuk projek js nod anda menggunakan Azure dan Github Actions

PHPz
PHPzasal
2024-07-17 07:47:481120semak imbas

Seseorang menyiarkan di twitter bahawa apabila jurutera melakukan sesuatu, mereka harus menulis tentang cara mereka mencapainya. Ia boleh menjimatkan masa jurutera lain mencari untuk mencari penyelesaian. Dan itulah sebabnya kami berada di sini.

Dalam artikel ini kami akan mengkonfigurasi Talian Paip CI/CD untuk projek js nod menggunakan Azure sebagai pembekal awan dan tindakan GitHub.

Pertama sekali

1. Cipta Perkhidmatan Apl pada Microsoft Azure.

  • Log masuk ke portal Microsoft Azure atau buat akaun jika anda tidak mempunyai akaun. (Pada masa penulisan, mereka memberikan akaun baharu sehingga $200 kredit.

  • Seterusnya, cari apl azure.
    A view of the azure portal showing the app service in the dropdown of services

  • Pilih Cipta > WebApp. Kemudian isikan butiran dalam borang. Pilih timbunan masa jalan sebagai Node xx LTS. Teruskan mencipta sehingga.

Pada penghujung proses, anda harus mempunyai apl web yang mempunyai halaman lalai microsoft.

Seterusnya,

2. Hasilkan bukti kelayakan Azure untuk tindakan Github.

Terdapat beberapa kaedah yang didokumenkan di sini, tetapi kami menggunakan pilihan Prinsipal Perkhidmatan kerana ia agak lurus ke hadapan.

Buka cli Azure, (ditunjukkan dalam imej di bawah)
Image of the azure portal indicating the location of the azure cli tool

Dan jalankan arahan berikut:

az ad sp create-for-rbac --name "myApp" --role contributor --scopes /subscriptions//resourceGroups//providers/Microsoft.Web/sites / --json-auth

Ganti , dan dengan butiran yang betul daripada papan pemuka perkhidmatan apl azure anda. "myApp" ialah nama Pengetua perkhidmatan.

Arahan akan menghasilkan output seperti ini.

{
"clientId": "",
"clientSecret": "",
"subscriptionId": "",
"tenantId": "",
(...)
}

Ini akan digunakan kemudian.

Akhirnya ke Github

3. Tambah rahsia, cipta Tindakan Github dan pencetus.

  • Dalam repositori navigasi ke tetapan > rahsia dan pembolehubah > tindakan.

  • Klik tambah rahsia repositori baharu. Tampalkan output json kerana ia berada dalam medan rahsia dan AZURE_CREDENTIALS dalam medan nama.

  • Navigasi ke tab tindakan untuk menambahkan aliran tindakan github pada projek. Cari "Deploy Node.js to Azure Web App" dan klik konfigurasi untuk meneruskan.

    • Fail aliran kerja, azure-webapps-node.yml, dibuat yang boleh diedit sebelum melakukan perubahan.

Edit fail supaya kelihatan seperti di bawah:

`pada:
tolak:
cawangan: [ "membangunkan" ]
workflow_dispatch:

env:
AZURE_WEBAPP_NAME: # tetapkan ini kepada nama aplikasi anda
AZURE_WEBAPP_PACKAGE_PATH: '.' # tetapkan ini kepada laluan ke projek apl web anda, lalai kepada akar repositori
NODE_VERSION: '' # tetapkan ini kepada versi nod untuk digunakan

kebenaran:
kandungan: baca

pekerjaan:
bina-dan-gunakan:
runs-on: ubuntu-latest
langkah:
- nama: 'Checkout Github Action'
kegunaan: actions/checkout@v4

- uses: azure/login@v1
  with:
    creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: Setup Node ${{ env.NODE_VERSION }}
  uses: actions/setup-node@v4
  with:
    node-version: ${{ env.NODE_VERSION }}
    cache: 'npm'

- name: npm install, build, and test
  run: |
    npm install

- uses: azure/webapps-deploy@v3
  with:
    app-name: ${{ env.AZURE_WEBAPP_NAME }}
    package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}

# Azure logout 
- name: logout
  run: |
    az logout`

Fail aliran kerja dicetuskan semasa menolak ke cawangan yang dibangunkan dan log masuk ke portal azure menggunakan bukti kelayakan yang telah anda simpan dalam rahsia sebelum ini dan kemudian terus membina dan menggunakan.

Ingat untuk menggantikan edit nama apl web, versi nod dengan sewajarnya.

Akhirnya mencetuskan aliran kerja untuk larian pertama. Halaman web lalai pada portal azure anda akan hilang dan apl web anda telah dikonfigurasikan untuk saluran paip CI/CD yang dicetuskan semasa menolak ke cawangan yang dibangunkan.

Semoga ini membantu jurutera lain.

Atas ialah kandungan terperinci Nota Pembangun: Konfigurasikan saluran paip CI/CD untuk projek js nod anda menggunakan Azure dan Github Actions. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn