본문 바로가기

Github action6

Devops Day 76 (6.22) Final Project_Day 10 Github Action + Terraform 동기화 작성한 github action + Terraform 코드들을 github final project 계정에 업로드 하여 동기화. 1. Github 에 CICD 브랜치 새로 생성하여 github action 코드들을 업로드 했습니다. 업로드 전 각 코드 재 확인하고 쉽게 알아볼 수 있도록 파일 이름도 수정 하였습니다. 2. IaC 브랜치 새로 생성하여 어립이집관리시스템 (childmanagesys) Terraform 코드들을 업로드 하였습니다. 코드명을 쉽게 알아보기 위해 Terraform 코드 업로드 할 때 git commit- m “ADD: 파일명 + childmanagesys 으로 지정했습니다. Terraform 코드는 Childmanagesys .. 2023. 6. 23.
Devops Day 73 (6.19) Final Project_Day 7 Github Action code 작성 (ECR) 1. Back-end 코드 github에 업로드시 AWS ECR로 자동화하는 작업 1.1 코드 작성전 코드 구성부터 논의. - 논의 내용 중 하나는 AWS access key 및 aws secret access key 어떻게 설정할 것인가 논의 했습니다. 하나의 access key로 모든 인원이 사용 할 것인지 (aws에서 보안 문제로 비추 합니다) 아니면 각 access key 를 생성하여 각 담당자에게 나눠 사용 방법입니다. - 다른 논의 내용은 하나의 Yaml 로 두개의 Action을 진행 하는 방법 (어린이 집 관리 시스템 Back end Code 업로드시 그 코드만 작동화) - 단 이 방식으로 진행 할 경우 주의 할 점들이 몇가지가 있습니다. 1.. 2023. 6. 21.
Devops Day 38 (4.27) Project 2 “AWS 배포 자동화”_Day1 Achievement Goals 섹션 2 파트에 학습 했던 내용을 완전히 이해하고 실습합니다. - 네트워크 - Yaml - Docker - AWS - 지속적 통합 - 배포 자동화 AWS 리소스에 대한 이해를 통해 실제 AWS에 서비스를 배포합니다. 목표달성을 위한 실습내용 WAS를 Docker image로 빌드하여 컨테이너화 (Docker, Yaml,AWS, 지속적통합) - 실습과제 1에서 실습한 내용을 토대로 was를 도커 이미지로 빌드하여 컨테이너 화 합니다. - 빌드한 이미지를 레지스트리로 푸시 합니다. - 깃헙 액션을 통해서 레지스트리 푸시를 자동화 합니다. 컨테이너화 한 이미지를 AWS에 배포(Docker, AWS) - aws ECR 서비스를 이용하는 방법을 배웁니다. - was 및 mongoD.. 2023. 4. 28.
DevOps Day 34 (4.21) 코드로부터 환경 변수 분리 Sprint 가장 긴 단어가 2개 이상이면 첫번째로 등장하는 단어GitHub Action을 이용하여 CI 상에서 Mini node server를 Docker 이미지로 만든 후, 여러분의 Docker Hub에 push하세요 1. CI 상에서 주어진 Dockerfile을 이용해 Docker 이미지를 빌드할 수 있도록, workflow를 새로 만드세요. - 다음 레퍼런스를 참고해서 Docker 빌드용 GitHub Action workflow를 만드세요. - workflow를 추가한다고 해서 GitHub Action이 즉시 작동하지는 않을 것입니다. - repository에서 오른쪽 사이드바를 살펴보면, Release -> Create a new release 링크가 존재합니다. - 이 링크를 누르고 새로운 릴리스를 발행합.. 2023. 4. 21.
DevOps Day 33 (4.20) 빌드 및 테스트 자동화 Sprint “Github Action을 이용한 빌드 및 테스트 자동화” 먼저 테스트 주도 개발을 연습합니다. 직접 test/app.test.js를 수정하여 통과하지 않는 테스트를 모두 통과시키세요. 1. 애플리케이션은 node.js로 작성되어 있습니다. node.js LTS 버전을 준비합니다. 2. 먼저 애플리케이션의 의존성(dependency)을 설치해야 합니다. npm install 명령을 이용해 의존성을 설치합니다. 3. 테스트가 통과하는지 확인하려면 npm test 명령을 이용합니다. 다음과 같이 테스트가 통과하지 않는 것을 먼저 확인하세요. 4. test/app.test.js 파일을 열어 통과하지 않는 테스트를 수정하세요. FILL_ME_IN이라고 적힌 곳에 기댓값을 적어주면 됩니다. 2. GitHub Action을 이용해서 Node.js CI를 적용하세요. 1. .. 2023. 4. 21.
DevOps Day 33 (4.20) 지속적 통합_CI/CD 리뷰 CI/CD 파이프라인 전통적인 소프트웨어 전달 방식 : 출시 기한을 정해 놓고 소프트웨어를 완성 : 폭고수 모델 문제점 : - 출시 시점에 소프트웨어의 신뢰성, 안정성을 보장할 수 없음 - 출시를 약속하고 뚜껑을 열어봤을 때, 산더미처럼 쌓여있는 버그 소프트웨어 안전성 개선을 위한 노력 : 베타 버전 등을 통한 테스트 특징 : - 사용자가 항상 최신 상태로 업데이트해야 함 - 따라서 버그 수정을 사용자에게 전달하기 매울 어려움 - 여전히 모바일 애플리케이션이 사용하는 전달 방식 Saas (Software as a service) - 서비스로서의 소프트웨어 - 브라우저에 접속하기만 해도, 새 버전을 즉시 사용할 수 있음 클라우드 서비스의 전달 방식 : 고객의 요구에 민첩하게 대응하여 지속적 전달 : 애자일.. 2023. 4. 20.