지속적 통합 및 지속적 제공

4306 단어 devopscicd
"지속적 통합이란 무엇이며 왜 중요한가요?"초보 프로그래머라면 이와 같은 질문을 스스로에게 할 수 있습니다. CI/CD는 DevOps(소프트웨어 개발 및 IT 운영)에서 사용되는 지속적인 통합 및 지속적인 전달(또는 배포)을 나타냅니다. CI/CD는 개발자가 수동 승인을 기다리지 않고 코드를 수동으로 테스트하는 데 많은 시간을 낭비하지 않고 프로덕션에 코드를 자주 배포할 수 있는 모범 사례입니다. 이를 통해 개발자는 코드 작성에 더 많은 시간을 할애하고 로컬에서 테스트하고 수동으로 배포하는 시간을 줄일 수 있습니다.


파이프라인

개발자가 기능에 대해 작업 중이고 CI 없이 기능을 배포하기 전에 올바르게 작동하는지 확인하려는 경우 로컬에서 일련의 테스트를 실행하거나 코드 베이스 전체에 인쇄 문(console.logs)이 흩어져 있어야 할 수 있습니다. 작동하는지 확인합니다. 이 프로세스는 많은 시간이 소요될 수 있으며 많은 작업이 필요할 수 있습니다. CI를 사용하면 개발자는 단일 명령을 실행하여 애플리케이션이 올바르게 작동하는지 확인할 수 있습니다. 이 방법으로 개발자는 코드 작성에 더 많은 시간을 할애하고 테스트 시간을 줄일 수 있습니다. 풀 요청을 병합하거나 제출할 때 CI 서버는 테스트를 실행하고 통과하면 코드를 마스터 브랜치(또는 다른 브랜치)에 병합할 수 있습니다.

지속적 제공은 빌드/테스트 단계 후 코드를 배포하고 라이브 환경(또는 준비 영역)을 업데이트하는 프로세스를 포함하도록 지속적 통합의 개념을 확장합니다. 자동화된 테스트 외에도 버튼 클릭만으로 코드를 배포할 수 있는 자동화된 프로세스가 있습니다. 이렇게 하면 배포 프로세스가 개선되어 개발자가 코드를 작은 배치로 배포하고 디버그 테스트를 보다 효율적으로 수행할 수 있습니다.

지속적인 배포는 프로세스를 한 단계 더 발전시켜 파이프라인의 모든 이전 단계를 통과하는 모든 변경 사항을 실제 환경에 릴리스할 수 있도록 합니다. 실패한 테스트만 변경 사항이 배포되지 않도록 합니다.




GitHub 작업

선택할 수 있는 여러 CI 도구가 있습니다. 인기 있는 것에는 Jenkins, Travis, Gitlab 등이 있습니다. 나는 그들에 대해 너무 자세히 설명하지는 않겠지 만 모두 장단점이 있습니다. 내가 사용하는 도구로 최대한 많은 작업을 수행하는 것을 선호하므로 GitHub Actions를 선호합니다. 설정하기 쉽고 브라우저에서 바로 사용할 수 있습니다.


GitHub Actions를 설정하는 것이 얼마나 쉬운지 간단히 시연해 보겠습니다.
터미널을 열고 cd 저장소의 루트 폴더에 넣은 다음 .yml 파일 touch .github/workflows/action-demo.yml을 만듭니다. .yml 파일에 GitHub Actions Documentation 에서 가져온 상용구 코드를 붙여넣을 것입니다. 또한 하단에 두 줄을 추가하여 종속성을 설치하고 테스트를 실행합니다.

name: GitHub Actions Demo
on: [push]
jobs:
  Explore-GitHub-Actions:
    runs-on: ubuntu-latest
    steps:
      - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
      - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
      - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
      - name: Check out repository code
        uses: actions/checkout@v3
      - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
      - run: echo "🖥️ The workflow is now ready to test your code on the runner."
      - name: List files in the repository
        run: |
          ls ${{ github.workspace }}
      - run: echo "🍏 This job's status is ${{ job.status }}."
      - run: npm i
      - run: npm test



코드를 작성한 후(이 경우 간단한 산술
함수) 코드를 로컬에서 실행하면 코드를 푸시하고 풀 요청을 열 준비가 된 것입니다. 터미널 git push --set-upstream origin test에서 (우리는 test 지점에 있습니다). GitHub에서 코드가 푸시된 표시를 보고 GitHub에서 PR을 제안합니다. 얼마나 편리한지 😎


프로세스가 실행되는 것을 볼 수 있습니다.


완료되면 변경 사항을 성공적으로 병합할 수 있습니다.


그런 다음 지점을 삭제하십시오 ...



이것이 GitHub Actions를 시작하기 위한 전부입니다. 얼마나 쉬웠는지 보세요? 이것이 다음 프로젝트에 CI/CD를 포함하는 데 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기