Azure DevOps를 사용하여 CI-CD 파이핑 설정하기

지속적인 통합은 모든 코드 변경을 중앙 저장소에 통합하는 과정이다.다른 한편, 지속적인 배치는 미리 정의된 검사를 통해 코드 변경을 지정된 환경에 자동으로 배치하는 실천이다.그것은 코드 라이브러리의 안정성과 배치 가능성을 확보하기 위해 자동화 도구를 사용하여 테스트를 실행한다.이런 방법은 더욱 빠르고 효율적인 배치를 실현하는 데 도움이 된다.
azure 파이프는 CICD 파이프를 구축하는 데 가장 좋은 도구입니다.이 문서에서는 Azure DevOps 파이프를 사용하여 CI-CD 파이프를 설정하는 방법을 소개합니다.이것은 나의 이전 문장의 후속이다.나는 그 문장에서 토론한 몇 가지 정보를 참고할 것이다.Azure Kubernetes 배포에 익숙해진 경우 계속할 수 있습니다.

선결 조건

  • VSCODE.다운로드here
  • Azure DevOpsLogin
  • Azure 계정.너는 그것을 무료로 만들 수 있다 here.
    Ps 당신은 200달러의 무료 Azure 포인트와 12개월의 현금 지불을 받을 수 있습니다.
  • Dockerdocker
  • VSCODEvscode
  • 이전 글에서, 나는.NetCore 웹 API와 MySQL DB를 azure Kubernetes 서비스에 어떻게 배치하는지 토론했다.나는 더욱 진일보하여azure 파이프의 자동화 배치 과정을 사용할 것이다.이 도구는git 메모리 라이브러리의 변경 사항을 검사하고 구축 및 배치 과정을 자동화합니다.나는 또한 파이프에 비준과 테스트 같은 일련의 검사를 추가할 수 있다.그러나 본고에서 저는 기본적인 CI-CD 파이프라인 구축과 배치만 설정할 것입니다.

    1. GitHubhere에서 소스 코드 다운로드
    2. 프로젝트의 저장소를 만들고 코드를 GitHub로 밀어넣기
    3. 만약에 이전 글을 따르신다면 서비스와pod배치를 삭제하고Azure용기 등록표의 이미지를 전송하여 이전 글에서 수행한 수동 절차를 복원하십시오.
  • 컨테이너 이미지 삭제
    컨테이너 이미지를 삭제하려면 Azure portal->container registry->repositories에 로그인하고 생략 번호 세 개를 클릭합니다.

  • Kubernetes 서비스 및 POD 삭제
    현재 Kubernetes 컨텍스트를 가져오려면 이 명령을 실행합니다.
  • $ kubectl config get-contexts
    
    azure Kubernetes 환경에 있는지 확인합니다.
    해당 컨텍스트의 모든 리소스 삭제
    $ kubectl delete daemonsets,replicasets,services,deployments,pods,rc,pv,pvc --all
    
    삭제되었는지 확인
    $ kubectl get pods
    
    No resources found in the default namespace.
    
    4. YAML 파일을 manifest라는 폴더에 배치
  • 파이프가 폴더의 모든 배치를 인용할 수 있도록 하기 위해서입니다.
  • 5. Azure 파이핑 로그인
    Azure Pipelines
  • 파이핑으로 이동 -> 파이핑 생성

  • GitHub에 연결하고 인증
  • GitHub 프로젝트 선택
  • Azure Kubernetes 서비스에 배포 선택
  • 어플리케이션에서 azure 포털에 로그인
  • 용기 등록과 이미지 이름 등 상세한 정보 작성

  • YAML 파일이 자동으로 생성됩니다.
  • 요점을 기준으로 YAML 파일의 내용 편집
    환경 변수를 자신의 세부 정보와 증거로 바꾸는 것을 기억하십시오


  • YAML 파일 보기


    트리거: 이 명령은 파이프 감청 전송 주 지점의 변경 사항을 알려줍니다


    변수: container Registry와 같은 중복 사용 가능한 항목을 저장합니다. 파이프의 여러 위치에서 반복해서 사용하기를 원합니다.br/>
    내가 만들고 싶은 Mysql 버전을 지정하기 위해 mysql tag를 정의했습니다


    건조 단계


    단계: 파이프의 주요 부분:'이 응용 프로그램 구축','이런 테스트 실행'과'예생산에 배치'가 단계의 좋은 예이다.우리의 예에서 우리는'구축'과'배치'밖에 없다


    작업: 배치 작업은 환경을 대상으로 순서대로 운행하는 절차의 집합이다


    풀 - azure 파이프에서 작업을 수행할 서버입니다.기본적으로 Azure는 각 파이프에 에이전트를 할당합니다.하지만 너는 너 자신을 창조할 수 있다.내 예에서, 나는 'ubuntu 최신' 이라는 에이전트를 만들었다.p>

    단계--구축 단계의 임무는Docker@2두 가지 작업(빌드 및 푸시)을 수행합니다

    이렇게 하면 서비스가 구축되고 정의된 환경 변수를 사용하여 my Azure 컨테이너 레지스트리로 전송됩니다


    • 우리는 두 개의 이미지를 구축해야 하기 때문에 두 개의 구축과 배치 절차를 추가했다.SQL 및 API 이미지

    단계에 작업이 있음->모든 일에는 하나의 절차가 있다. - >각 단계마다 임무가 하나씩 할당됩니다


    출판.이 명령은 파이프에서 목록 폴더를 찾으려면 폴더의 자원을 사용하여 파이프에 manifest라는 작업을 만듭니다


    배치 단계


    는 구축 단계에 달려 있습니다.즉, 구축 단계는 실행 전에 완료해야 합니다

    전략--어떻게 배치하고 싶으세요?한 번 실행하면 모든 단계가 순서대로 실행됩니다


    작업 섹션에 다음 작업이 있습니다.KubernetesManifest@0

    Kubernetes manifest 작업 명령은 파이프에 알려 줍니다:


    • 명세서에서 파일 다운로드
    • 목록 부품을 Kubernetes 그룹에 적용
    • 부품을 Kubernetes 그룹에 배치

    는 구축 부분과 마찬가지로 두 개의 배치 임무를 정의했습니다. 왜냐하면 우리는 두 개의 이미지가 있기 때문입니다


    save and run을 클릭하여 주 지점에 직접 제출합니다.이것은 YAML 파일을 GitHub repo에 저장하고 필요에 따라 수정할 수 있습니다


    이 단계는 구축이 시작되었음을 보실 수 있습니다



    ----------------------오류--------------------------------------

    "Microsoft hosted Private"병렬 유형에서 실행할 수 있는 최대 요청 수에 도달했기 때문에 이 프록시 요청이 실행되지 않았습니다.대기열의 현재 위치: 1

    ----------------------오류--------------------------------------

    Microsoft가 호스팅하는 Azure DevOps의 새 조직에 대한 공공 및 개인 프로젝트 에이전트 파이프라인이 최신 업데이트에 제한되어 있기 때문에 이 오류가 발생할 수 있습니다.총괄적으로 말하면 마이크로소프트는 당신의 작업을 대리로 실행하는 것을 잠시 제한합니다


    개인 프로젝트를 위해 이 문제를 해결하다


    개인 프로젝트:


    무료 서비스를 받기 위해 [email protected]에 이메일을 보낼 수 있습니다


    • 너의 이름
    • Azure DevOps 조직의 이름
    • 개인 프로젝트:

    공공 프로젝트를 위해 이 문제를 해결하다


    무료 서비스를 받기 위해 [email protected]에 이메일을 보낼 수 있습니다


    • 너의 이름
    • 무료 지원을 신청한 Azure DevOps 조직
    • 구축할 저장소에 대한 링크
    • 프로젝트의 간략한 설명.

    나처럼 짜증나면.이거 봐요



    • Linux의 자동 위탁 관리 개인 에이전트(Ubuntu) for Azure Pipelines에서 자신의 자동 위탁 관리 에이전트를 만들고 실행 파이프에 연결하는 방법을 소개합니다

    • 에이전트 생성 후

    • 프로젝트에 추가

    • 이름을 복사하고 이 부분을 편집하여 에이전트가 실행할 수 있도록 합니다

    • 자가 위탁 관리 에이전트에docker를 설치하는 것이 How To Install and Use Docker on Ubuntu 18.04
      의 첫걸음입니다.

    • cd를 에이전트에 삽입하고 다시 시작합니다


    보시다시피 우리의 모든 구축 과정은 우리가 이전에 했던 것과 유사하게 실행되고 있습니다.하지만 지금은 모든 것이 파이프에서 자동으로 운행되고 있다.일단 주 지점으로 전송되면 파이프는 구축과 배치를 촉발합니다




    • 구축 및 배포 단계 완료

    • 파이프로 이동 - >달리기->환경 보기 - >자원 - >서비스




    • 구축된 자원을 탐색하고 탐색합니다.
    • 테스트 API 서비스 외부 IP
      선택
      외부 IP 복사 및 URL**
      탐색
      (http://external-ip:8080/swagger/index.html)

      저는http://20.62.158.83:8080/swagger/index.html입니다.그림에서 보듯이 swagger 페이지를 사용하여 API 배치를 테스트합니다.컨테이너화 API는 현재 Azure Kubernetes 서비스에서 실행되며 로드 밸런서 서비스를 통해 인터넷에 공개됩니다

    • 우리는 우리의 용기화 응용 프로그램을 azure 용기 등록 센터와 azure Kubernetes 서비스에 구축하고 배치하는 데 성공했습니다


    git repo에 Azure Pipeline Build successfully 배지 추가


    - 당신의 푸른 드워스에서.파이프 선택 - >달리기->생략번호 3개
    클릭


    • 상태 표지 선택 - >카피 가격 인하.

    • 자술을 만듭니다.GitHub repo에md 파일을 만들고 태그를 붙여넣습니다.


    여기와 나의 소셜미디어에서 나를 주목하고 비슷한 내용을 더 많이 알아라

    좋은 웹페이지 즐겨찾기