개발자 메모: Azure 및 Github Actions를 사용하여 노드 js 프로젝트에 대한 CI/CD 파이프라인 구성

PHPz
풀어 주다: 2024-07-17 07:47:48
원래의
1144명이 탐색했습니다.

엔지니어가 작업을 수행할 때 이를 달성하는 방법에 대해 작성해야 한다고 트위터에 누군가 게시했습니다. 다른 엔지니어가 솔루션을 찾기 위해 검색하는 시간을 절약할 수 있습니다. 이것이 바로 우리가 여기 있는 이유입니다.

이 문서에서는 Azure를 클라우드 공급자 및 GitHub 작업으로 사용하여 노드 js 프로젝트에 대한 CI/CD 파이프라인을 구성합니다.

우선

1. Microsoft Azure에서 App Service를 생성합니다.

  • Microsoft Azure 포털에 로그인하거나 계정이 없는 경우 계정을 만드세요. (작성 당시에는 새 계정에 최대 $200 크레딧을 제공했습니다.

  • 다음으로 Azure 앱을 검색해 보세요.
    A view of the azure portal showing the app service in the dropdown of services

  • 만들기 > 웹앱. 그런 다음 양식에 세부정보를 입력하세요. 런타임 스택을 Node xx LTS로 선택합니다. 까지 계속 생성합니다.

프로세스가 끝나면 Microsoft 기본 페이지가 있는 웹 앱이 있어야 합니다.

다음으로

2. Github 작업을 위한 Azure 자격 증명을 생성합니다.

여기에는 여러 가지 방법이 문서화되어 있지만 매우 간단하므로 서비스 주체 옵션을 사용하고 있습니다.

Azure cli를 엽니다(아래 이미지에 표시됨)
Image of the azure portal indicating the location of the azure cli tool

다음 명령을 실행하세요.

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

및 를 Azure 앱 서비스 대시보드의 올바른 세부 정보로 바꿉니다. "myApp"은 서비스 주체의 이름입니다.

명령어는 다음과 같은 출력을 생성합니다.

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

나중에 사용됩니다.

드디어 Github로

3. 비밀을 추가하고 Github Action을 생성한 후 트리거하세요.

  • 저장소에서 설정 > 비밀 및 변수 > 행위.

  • 새 저장소 비밀 추가를 클릭하세요. json 출력을 비밀 필드에 그대로 붙여넣고 이름 필드에 AZURE_CREDENTIALS를 붙여넣습니다.

  • 작업 탭으로 이동하여 프로젝트에 Github 작업 흐름을 추가하세요. "Azure Web App에 Node.js 배포"를 검색하고 구성을 클릭하여 계속합니다.

    • 변경 사항을 커밋하기 전에 편집할 수 있는 azure-webapps-node.yml이라는 워크플로 파일이 생성됩니다.

아래와 같이 파일을 편집하세요.

`on:
푸시:
가지: [ "개발" ]
작업 흐름_디스패치:

환경:
AZURE_WEBAPP_NAME: # 이를 애플리케이션 이름으로 설정합니다
AZURE_WEBAPP_PACKAGE_PATH: '.' # 이를 웹 앱 프로젝트의 경로로 설정하고 기본값은 저장소 루트입니다
NODE_VERSION: '' # 사용할 노드 버전으로 설정

권한:
내용:읽기

직업:
빌드 및 배포:
실행: 우분투 최신
단계:
- 이름: 'Github Action 확인'
용도: 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`
로그인 후 복사

개발 분기로 푸시하면 워크플로 파일이 트리거되고 이전에 비밀에 저장한 자격 증명을 사용하여 Azure Portal에 로그인한 후 계속해서 빌드 및 배포됩니다.

웹 앱 이름, 노드 버전을 적절하게 편집하여 교체해야 합니다.

마지막으로 첫 번째 실행을 위한 워크플로를 트리거합니다. Azure Portal의 기본 웹 페이지가 사라져야 하며 개발 분기에 푸시할 때 트리거되는 CI/CD 파이프라인에 대해 웹앱이 구성되어 있어야 합니다.

다른 엔지니어에게 도움이 되기를 바랍니다.

위 내용은 개발자 메모: Azure 및 Github Actions를 사용하여 노드 js 프로젝트에 대한 CI/CD 파이프라인 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿