728x90 반응형 전체 글115 [Cloud] CD: Github Actions - TEST & act Github actions act 자동 배포 과정도 테스트를 진행하면서 개발을 하게 되는데, 테스트를 해보기위해 계속해서 push 를 하거나 pull request 를 만드는 것은 비효율적이다. 이런 부분들을 자동화 하기위해서 act 를 사용한다. act 는 Github actions 워크플로우를 로컬의 개발환경에서 실행할 수 있게 해주는 오픈소스 도구이다. act 는 도커를 사용하기 때문에 도커가 깔려 있어야 하며 아래의 장점들을 가지고 있다. 디버깅 : 푸시하면서 디버깅 할 필요 없음 빠른 반복 : 원격 실행을 기다릴 필요가 없음 https://github.com/nektos/act GitHub - nektos/act: Run your GitHub Actions locally 🚀 Run your Gi.. Dev./Github Actions 2023. 8. 24. [Cloud] CD: Github Actions - workflow_run & Dependency workflow_run & Dependency workflow 의 dependency 설정 (조건부 실행) workflow_dispatch 로 직접 실행시키게 되면, call-workflow step 에 따라 정해진 workflow 가 실행된다. # lesson4_caller.yml name: call workflow on: workflow_dispatch: jobs: get-workflow-name: name: echo workflow name runs-on: ubuntu-latest steps: - run: echo "This workflow is ${{ github.workflow }}" call-workflow: uses: ./.github/workflows/lesson4.yml strategy:.. Dev./Github Actions 2023. 8. 23. [Cloud] CD: Github Actions - Mutiple workflow Multiple workflow workflow 를 여러개를 만들다보면 push 할 때마다 다른 yml 파일들 때문에 계속해서 배포되는 작업이 이루어지는데, 이를 각각의 workflow 별로 핸들링하거나 연관있는 것들 끼리 핸들링 할 수 있게 해보자. lesson4.yml 파일 작성 # lesson4.yml name: resuable workflow on: workflow_call: jobs: greeting: name: greeting runs-on: ubuntu-latest steps: - name: greeting run: echo "Hello, Stranger"ßßå 이후 push 하면 기존에 있던 yml 파일이 있기 때문에 자동으로 배포가 됨 그래서 필요한 내용이 업데이트 될 때마다 배포가 되게.. Dev./Github Actions 2023. 8. 23. [Cloud] CD - NCP: Rollback tag 현재에는 yml 파일에 latest 로 태그가 들어가기 때문에 롤백을 실행할 수 없다. 이미지에 고유 식별자가 없으면 어떤 변경이 언제 이루어졌는지 추적할 수 없고 오류진단과 디버깅을 쉽게 할 수 없다. 또한 새롭게 배포가 된 이후에 에러가 발생했을 때 안정적인 버전으로 빠르게 복귀가 필요한 경우도 종종 발생한다. 기본적으로 태그를 여러개 등록이 가능하기 때문에 유니크한 정보값을 생성을 위해 timestamp 를 사용하고 롤백을 위한 다중 태그를 등록하자. # yml 파일 env: # IMAGE_TAG: ${{ vars.NCP_CONTAINER_REGISTRY }}/lion-app:latest IMAGE: ${{ vars.NCP_CONTAINER_REGISTRY }}/lion-app IMAGE_TAG: .. Dev./Cloud 2023. 8. 22. [Cloud] CD - NCP: Load balancer Load balancer NCP 에서 Load balancer 만들어 주기 (프록시 로드밸런서 사용예정) proxy load balancer 는 클라이언트와 서버간의 중개자로 작동하며 클라이언트의 요청을 받아 적절한 타겟 서버로 전달하고 서버의 응답을 클라이언트에게 전달한다. Load balancer 여러 서버 간의 트래픽을 분산 → 처리시간 단축 특정 서버에 문제가 생기면 다른 서버로 routing 서버를 추가하거나 제거하며 스케일링 Subnet : Load balancer 가 동작하는 곳 네트워크의 논리적인 분할, 특정 IP 주소 범위 범위를 정하고 Gateway 설정 리스너 포트 80 Target : Load balancer 가 트래픽을 분산시킬 서버(인스턴스) 프로토콜 : TCP 포트 : 8000.. Dev./Cloud 2023. 8. 22. 이전 1 ··· 9 10 11 12 13 14 15 ··· 23 다음 728x90 반응형