DevOps 결과: 지속적인 배포

The DevOps Series with Buddy의 결말로 돌아온 것을 환영합니다.이 시리즈는 기본적인 DevOps 개념, 예를 들어 지속적인 통합, 지속적인 교부와 자동화, 그리고 Buddy CI/CD를 어떻게 사용하여 이러한 개념을 실현하는지를 포함하고 있기 때문에 매우 흥미롭다.
이 시리즈의 초보자라면 언제든지 이전 기사를 보십시오.
  • Introduction to DevOps
  • Managing Team and Roles in DevOps
  • Automated Notification and Testing
  • Unit and Integration Testing
  • Continuous Delivery and Heroku
  • 이 시리즈를 마무리하기 위해 우리는 DevOps의 최종 목표인 연속 배치에 대해 토론할 것이다.우리는 그것이 무엇인지, 연속적인 교부에 비해 어떠한지, 그리고 버디 CI/CD를 어떻게 사용하여 연속적인 배치 파이프를 실현하는지 연구할 것이다.

    연속 배포란 무엇입니까?


    연속 배치가 무엇인지 이해하기 위해서는 우선 연속 교부의 정의를 되돌아보자.간단히 말해 배포가 완료될 때까지 소프트웨어를 자동으로 구축하고 추가 수동 확인을 통해 생산 서버에 게시하는 방법입니다.

    한편, 지속적인 배포는 DevOps의 최종 목표입니다.여기서 응용 프로그램을 구축하고 테스트하는 것부터 응용 프로그램을 배치하는 전체 과정은 완전히 자동화되어 인공적으로 관여할 필요가 없다.

    지속적인 배포의 이점


    이런 방법이 DevOps에서 인기를 끄는 것은 연속 배치를 통해 소프트웨어가 연속 교부보다 빠른 속도로 사용자에게 직접 전달되고 출시 과정의 속도를 높일 수 있기 때문이다.경쟁이 치열한 시장의 회사에 있어서 시간은 모든 것이다.따라서 개발과 최종 고객 사이에 발생할 수 있는 어떠한 지연도 없애면 큰 이익을 얻을 수 있다.
    또한 지속적인 배치를 실천함으로써 팀은 고객의 피드백에 더욱 잘 응답하고 필요한 변경 사항을 즉시 배치할 수 있다.소프트웨어의 모든 업데이트나 새로운 기능은 코드를 전송한 후 즉시 고객에게 전달할 수 있다.

    지속적인 배포 및 지속적인 제공


    이 두 단어는 통상적으로 헷갈리기 쉽다. 왜냐하면 모두 CD로 줄여서 기술자가 아니거나 모르는 팀원들에게 잘못 사용될 수 있기 때문이다.앞에서 설명한 바와 같이 연속 교부는 수동 비준을 통해 소프트웨어를 생산 환경에 발표하는 것과 관련이 있고, 연속 배치는 이 수동 과정을 완전히 삭제함으로써 이 점을 더욱 실현했다.

    종합적인 테스트 및 견고한 파이프


    그것들 사이의 또 다른 차이점은 실천에서 집적 연속 배치가 훨씬 어렵다는 것이다. 왜냐하면 이것은 다음과 같은 튼튼하고 독립적인 파이프라인에 사용해야 하기 때문이다.
  • 개발 환경에서의 단원 테스트
  • 세그먼트 환경에서의 통합 테스트
  • 운영 환경에서의 배포 후 테스트

  • 이러한 테스트는 자동화 프로세스를 구동하고 소프트웨어가 사용자에게 도착하는 데 걸리는 시간을 가속화하는 파이핑에 미리 정의되어 있습니다.연속적인 배치를 실현하기 위해서 소프트웨어는 반드시 완전히 자동화되어야 한다.따라서 소프트웨어가 진정으로 고객에게 사용할 준비가 되어 있는지 확인하기 위해 커버율이 좋은 전면적인 테스트를 실시해야 한다.
    일단 소프트웨어가 생산 준비가 다 되었을 때 이렇게 좋은 테스트를 거치면 개발자가 수동으로 심사하고 비준할 필요가 없는 상황에서 배치할 수 있다.이것은 양호한 지속적인 통합과 납품 실천의 결과로 회사에서 우수한 지속적인 배치 문화를 세웠다.

    Please check out how to set up Continuous Integration and Continuous Delivery in the previous articles of this series.


    지속적인 통합


    차이는 있지만 지속적인 배치와 지속적인 납품은 지속적인 통합이라는 튼튼한 기초를 필요로 한다.이것은 가능한 한 자주 코드를 단일 저장소에 집적하여 오류와 집적 문제가 발생할 때 그것들을 신속하게 검사하는 방법이다.
    지속적인 통합 실천은 자동화 구축과 테스트를 포함하여 절차의 최적화와 빈틈이 없도록 한다.적당한 지속적인 집적 파이프가 없으면 지속적인 납품이나 배치를 실현할 수 없다.

    버디와 연속 배치


    Buddy CI/CD는 연속적인 배치를 위한 간단한 구현을 제공합니다.이 예에서 버디 CI/CD를 사용하여 연속 배치 파이프를 설정하는 방법을 보여 드리겠습니다.이 예시 가설팀은 테스트를 포함하는 완전한 업무 문화를 구축했고 연속 교부에서 연속 배치로 전환할 준비를 하고 있음을 기억하십시오.
    다음은 연속 배포 파이핑의 표준 작업입니다.
  • 구축 및 실행 단위 테스트
  • 스테이지 환경에 배포
  • 통합 테스트 실행
  • 프로덕션에 배포
  • 1단계: 새 파이프 추가


    로그인Buddy CI/CD하거나 계정을 생성합니다.Buddy 작업공간에 항목이 있는 경우 다음 구성을 사용하여 새 파이프를 생성합니다.
  • 트리거 모드: 프로젝트 저장소를 변경할 때마다 파이프가 실행됩니다
  • .
  • 트리거 지점: 모든 테스트가 통과한 후에 이 응용 프로그램을 라이브 서버에 배치하기를 원하기 때문입니다
  • 2단계: 단원 테스트 구축 및 실행


    이 예에 대해, 나는Gatsby 프로젝트를 사용하여 Netlify에 배치할 것이다.
    다음 그림과 같이 Gatsby CLI 작업을 파이핑에 추가합니다.

    여기에서 npm install 명령을 추가하여 package.json 의 모든 패키지를 설치합니다.
    그리고 우리는 gatsby build를 실행하여 우리의 사이트를 테스트하고 구축한다.

    To learn more on how to build tests, please check out Unit and Integration Testing .


    3단계: 단계별 배포


    모든 단원 테스트를 성공적으로 통과한 후에 우리는 그것을 계속 백엔드 환경에 배치할 수 있다.응용 프로그램이 Netlify에 임시 지점을 만들었을 것입니다.
    이 점을 하려면 Netlify로 가십시오. 그곳에서 당신의 프로젝트는 위탁 관리됩니다.설정 > 구축 및 배포 > 연속 배포 > 컨텍스트 배포로 이동합니다.다음 그림과 같이 staging이라는 브랜치를 만듭니다.

    또한 버디가 연속 배치를 처리할 수 있도록 자동 게시 중지 단추를 누르십시오.

    이제 파이프에 Netlify 작업을 추가합니다.친구의 Netlify 계정에 액세스할 수 있습니다.

    Netlify 운영 구성을 설정하려면 다음과 같이 하십시오.

    이것은 웹 사이트를 우리가 이전에 Netlify에서 만든 임시 지점에 배치하기 위해서이다.

    To learn more details on creating a brach deploys with Netlify, see their documentation.


    4단계: 통합 테스트 실행


    다음은 스테이지 환경에서 우리는 응용 프로그램이 생산 준비를 마쳤는지 확인하기 위해 집적과 크로스 브라우저 테스트 등 각종 테스트를 실행한다.
    이 예에 대해 나는 Cypress를 사용한다.측백나무와 개츠비를 어떻게 결합시키는지 알아보려면 그들의 documentation을 읽어 보세요.
    Buddy CI/CD는 Cypress를 포함한 많은 동작을 포함합니다.테스트를 실행하기 위해 파이핑에 Cypress 작업을 추가할 수 있습니다.

    단계 5: 운영 환경에 배포


    테스트에 성공하고 오류가 없으면 이 프로그램은 생산 환경에 배치할 준비가 되어 있습니다.이전과 같이 Netlify 작업을 추가합니다.
    이번에 우리는 다음 명령을 실행하여 생산 지점에 배치할 것이다.
    netlify deploy --prod
    

    단계 6: 알림


    응용 프로그램을 배치한 후에는 팀에게 통지를 보내서 그들에게 알려야 한다.버디는 태만하거나 불화하거나 이메일을 보내는 등 의사소통 행위가 많다.
    이 예에서는 팀 응용 프로그램이 배포되었음을 간단히 알리기 위해 다음과 같은 구성이 있는 전자 메일 작업을 추가합니다.

    조건부 통지


    또한 파이핑의 ACTIONS RUN ON FAILURE 섹션에 전자 메일 알림 작업을 추가하여 파이핑에서 오류가 발생했을 때 팀을 알림으로써 응용 프로그램의 배치를 막아야 합니다.
    메시지 본문을 $BUDDY_FAILED_ACTION_LOGS 로 설정하여 전자 우편에 오류 로그를 표시할 수 있습니다.

    For more details about notification actions in Buddy, please read their documentation.


    우리의 최종 파이프는 다음과 같아야 한다.

    파이프를 실행합니다!


    만약 오류가 없다면, 이 프로그램은 수동 승인 없이 Netlify live에 성공적으로 배치되어야 합니다. 우리가 지난 글 Continuous Delivery 에서 본 것처럼.

    우리의 배치가 성공했는지 확인하기 위해서 우리는 이메일을 받을 것이다.

    다음 단계


    DevOps와 Buddy CI/CD의 입문 시리즈의 요약입니다!나는 그것이 너에게 도움이 되고 깊은 견해가 있기를 바란다.
    이 시리즈에서 우리는 DevOps에서 흔히 볼 수 있는 행어와 개념, 예를 들어 파이프, 자동화, 연속 통합, 연속 교부, 연속 배치 등을 토론했다.우리는 또한 Buddy CI/CD을 사용하여 이러한 개념에 대한 이해를 실현했는데 이것은 매우 간단하고 사용하기 쉬우며 직관적인 도구이다.
    읽어주셔서 감사합니다.언제든지 아래 댓글에 좋아하거나 어떤 생각을 공유하세요.건배!

    다음은 무엇입니까

  • buddy.works에 계정을 만들고 구축, 테스트 및 배치
  • 를 위한 프로젝트 자동화 시작
  • Buddy 문서
  • actions
  • 애플리케이션 사용 방법build and test 이해
  • 자세한 내용pipelines
  • 더 읽기Continuous Deployment
  • 좋은 웹페이지 즐겨찾기