반응형

IT 정보 131

[Test] Slice Test (Data Access 계층)

Data Access 계층 테스트 기본 구조import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;import static org.junit.jupiter.api.Assertions.*;@DataJpaTest // (1) MemberRepository 기능을 정상적으로 사용하기 위한 Configuration 등록 // Transactional 애너테이션을 포함 따라서 1개 테스트가 종료되면 저장된 데이터는 rollback 처리 ..

IT 정보/Test 2022.08.18

[Cloud] 운영 전략

프록시 서버 프록시 서버란!? 클라이언트와 서버가 소통할 때, 서버에 바로 접근하지 않고 자신을 통해 서버에 접근할 수 있도록 해주는 대리 서버이다. 지역이 제한되어 있는 서비스를 이용하기 위해서 우회하거나, 캐시를 통해 더 빠른 이용을 하기 위해 프록시 서버를 사용한다. 프록시 서버의 종류 Forwaard Proxy : 클라이언트와 가까이 위치한 프록시 서버로 클라이언트를 대신해서 서버에 요청을 전달하고, 주로 캐싱을 제공하는 경우가 많아 사용자의 빠른 서비스 이용을 도와준다. 캐싱을 통한 빠른 서비스 : 여러 클라이언트가 요청한 경우 첫 응답 후 결과 데이터를 저장해놓고 이후 서버에 재요청하지 않고 다른 클라이언트에게 결과를 전달한다. 보안 : 클라이언트에서 프록시 서버를 거친 후 서버에 도착하기 때..

[Cloud] 배포 자동화_Github Actions

CI/CD 지속적 통합/ 지속적 배포라는 뜻으로 새로운 코드의 통합으로 인한 개발 및 운영팀에 발생하는 문제를 해결하기 위한 솔루션이다. CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 모니터링을 제공한다. CI ( Build -> Test -> Merge ) 개발자를 위한 자동화 프로세스로 Continuous Intergration을 의미하고, 성공적으로 구현할 경우 변경사항이 정지적으로 빌드, 테스트되어 공유 리포지토리에 통합되어서 개발자 간의 충돌할 수 있는 문제를 해결할 수 있다. CD ( Release to Repository or Deploy to Production ) 지속적인 서비스 제공/ 배포 Cont..

[Cloud] 배포 자동화_Pipeline

깃 허브를 활용한 배포 자동화 서비스 사용 방법 EC2 인스턴스 개발 환경 구축하는 사전 준비 패키지 매니저가 관리하는 패키지의 정보 업데이트 $ sudo apt update 패키지 정보 업데이트 후 자바 설치 $ sudo apt install openjdk-11-jre-headless 자바 설치 후 확인 창 ( Y / N ) Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libasound2 libasound2-data libgraphite2-3 libharfbuzz0b Suggested packag..

[Cloud] 배포 자동화

공식 문서 https://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/build-spec-ref.html CodeBuild의 빌드 사양 참조 - AWS CodeBuild 를 지정하는 경우runtime-versions: Ubuntu 표준 이미지 2.0 이상 또는 Amazon Linux 2 (AL2) 표준 이미지 1.0 이상 외의 이미지를 사용하는 경우, 빌드에서 경고가 발생합니다.Skipping install of runtimes. Runtime versio docs.aws.amazon.com 배포 자동화 한 번의 클릭 또는 명령어 입력을 통해 수동적이고 반복적인 배포의 시간을 단축시키고, 휴먼 에러를 방지할 수 있도록 전체 배포 과정을 자동으로 진행하는 ..

[Cloud] Container & Docker 사용법

Docker docs : https://docs.docker.com/engine/reference/commandline/container_run/ docker container run docker container run: Run a command in a new container docs.docker.com docker image 가져오기 docker image pull Registry_Account/Repository_name:tag 이미지 리스트 출력 docker image ls docker container 실행 // run = 컨테이너 실행 // -d = 백그라운드 실행 // --name = 컨테이너의 이름 할당 // {cowsay} hello = cowsay 명령어 호출 // cowsay {h..

[Cloud] Container & Docker

용어 설명 Container 데스크톱, 클라우드 등 어디서나 실행될 수 있도록 애플리케이션 코드가 해당 라이브러리 및 종속 항목과 함께 패키징 되어있는 소프트웨어 실행 유닛이다. 이를 수행하기 위해 컨테이너는 OS의 기능을 활용하여 프로세스를 격리하고 해당 프로세스가 액세스할 수 있는 CPU, 메모리 및 디스크의 양을 제어하는 운영 체제(OS) 가상화 형식을 활용한다. 가상머신과 다르게 컨테이너는 모든 인스턴스에 게스트 OS를 포함할 필요가 없이 호스트의 OS 기능과 리소스를 간편하게 활용할 수 있다. 따라서 컨테이너는 소형이며, 빠르고 이식성이 뛰어나다. Docker 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼이다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로..

반응형