본문 바로가기

공부121

Docker) Docker에 Jenkins 설치 Jenkins란?) Jenkins는 소프트웨어 개발 시 지속적으로 통합(CI : Continuous Integration) 서비스를 제공하는 툴 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 저장소에 빈번히 업로드 함으로써 지속적 통합이 가능하다. CI : 여러 개발자들의 코드를 계속해서 통합하는 것 => 각 개발자들이 개발한 코드들을 합쳐 공통으로 빌드 및 테스트를 진행 CD : 개발자들이 작성한 코드를 사용자들이 계속 쓸 수 있게 만드는 것. => 테스트가 끝나 빌드된 파일을 배포하는 역할 1. Jenkins 이미지 내려받기 Docker hub (도커이미지 대표 레지스트리로 Ubuntu, CentOS 같은 OS 이미지, MySQL, Re.. 2024. 1. 22.
AWS) EC2에 docker설치 1. 인스턴스에 있는 모든 패키지를 업데이트 $ sudo yum update -y 2. 접속한 인스턴스에 Docker 설치 $ sudo yum install docker -y 1) 설치한 Docker 버전 확인 $ docker -v 2) Docker 실행 $ sudo service docker start 3) Docker 그룹 에 sudo 추가 (인스턴스 접속 후 도커를 바로 제어할 수 있도록) $ sudo usermod -aG docker ec2-user 4) 인스턴스 재접속 후 Docker 명령어 실행해보기 $ docker run hello-world 이제 Docker image를 생성해서 Docker hub를 통해 EC2에 실행할 수 있는 환경이 만들어짐 ! 과정) Dockerfile을 build해.. 2024. 1. 21.
AWS) EC2 인스턴스 생성 EC2란 ?) AWS에서 제공하는 클라우드 컴퓨팅 서비스. 1. EC2 인스턴스 시작하기 - 가상 컴퓨팅 환경으로 가상 머신을 생성하고 실행하는데 사용된다. 2. AMI (Amazon Machine Image) 선택하기 - AMI란 인스턴스를 시작하는데 필요한 정보를 제공하는 이미지로, 한 AMI로 여러 인스턴스를 생성할 수 있다. - AWS에서 제공하는 AMI를 선택하여 사용할 수 있으며, Linux/Windows를 제공한다. - 고유 이미지를 생성할 수도 있고, MarketPlace에도 다양한 이미지가 존재하지만, 대부분 유료이기 때문에 주의 ! -> 인스턴스라는 가상 머신에 운영체제 등을 설치할 수 있게 구워넣은 이미지로 생각하면 된다. ex) 아마존 리눅스 1 AMI를 사용한다면 Amazon Li.. 2024. 1. 20.
Github Actions 적용해보기 아래의 개념들을 필수적으로 숙지 CI/CD 기본 개념 CI / CD 기본 개념 (tistory.com) CI / CD 기본 개념 CI (Continuous Integration) : 지속적인 통합 -> 빌드와 테스트 자동화 모든 개발이 끝난 후 코드 품질을 관리하는 고전적인 방식의 단점을 해소하기 위해 나타난 개념 새로운 코드 변경 사항이 정기적 soni-developer.tistory.com Github Actions 기본 개념 GIthub Actions란 (tistory.com) GIthub Actions란 깃허브에서 제공하는 CI / CD 를 위한 서비스 GItHub Actions를 사용하면 자동으로 코드 저장소에서 어떤 이벤트 발생시 특정 작업이 일어나게 해주거나 주기적으로 어떤 작업들을 반복해서.. 2024. 1. 19.
Github Actions란 깃허브에서 제공하는 CI / CD 를 위한 서비스 GItHub Actions를 사용하면 자동으로 코드 저장소에서 어떤 이벤트 발생시 특정 작업이 일어나게 해주거나 주기적으로 어떤 작업들을 반복해서 실행시킬 수 있음. ex) 누군가 PR을 생성하면 GitHub Actions를 통해 해당 코드에 문제가 없는지 각종 검사 진행이 가능. 새로운 코드 변경 사항이 기본 브랜치 (mastser or main)에 push 되면 GitHub Actions를 통해 sw를 빌드하고 상용서버에 배포(deploy) 할 수 있음. 매일 밤 특정 시각에 그날 하루에 대한 통계 데이터를 수집 시킬 수도 있음. 소프트웨어에서 지속적으로 수행해야하는 반복 작업들은 CI/CD로 불림. 사람이 직접 하기에 비효율적이고 실수할 위험 때문에.. 2024. 1. 19.
CI / CD 기본 개념 CI (Continuous Integration) : 지속적인 통합 -> 빌드와 테스트 자동화 모든 개발이 끝난 후 코드 품질을 관리하는 고전적인 방식의 단점을 해소하기 위해 나타난 개념 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 (가능하면 매시간 or 매일) 공유 리포지토리에 통합되는 과정을 통해 계속 품질을 유지하며 개발을 진행하는 방법 CI가 필요한 환경 1. 다수의 개발자가 형상관리 툴을 공유하여 사용하는 환경 -> 자동화된 빌드 & 테스트는 원천 소스코드의 충돌 등을 방어하는 이점 2. MSA (Micro Service Archietecture) 환경 -> MSA는 작은 기능별로 서비스를 잘게 쪼개어 개발하는 형태를 의미 MSA 환경에서는 대부분 Agile(소규모 기능 단위로 빠르.. 2024. 1. 19.
즉시로딩과 지연로딩 @ManyToOne, @OneToOne과 같은 어노테이션은 기본이 즉시로딩(EAGER) -> 꼭 LAZY로 명시해서 사용 ! 참고 https://mr-popo.tistory.com/234 2024. 1. 4.
Git push 오류) Permission denied 403 에러 이렇게 뜨면서 remote branch에 push가 안 됐다. 현재 git에 등록된 원격 저장소 리스트 확인 $ git remote -v 원격 repository의 연결 url 변경 $ git remote set-url origin https://[YourGitUserName]@github.com/[RepositoryName].git 다시 확인할 때 내 UserName이 붙은 리스트가 출력되면 이거 해줘도 잘 안 돼서 다시 되돌림 깃허브 PersonalAccessToken을 재발급 받고 소스트리 -> 도구 -> 옵션 -> 인증 -> 내 계정에서 Persona lAccess Token 새로 발급 받은 거 넣어주니까 된다 ! ㅠ 2024. 1. 3.
STOMP 프로토콜 STOMP란 ? Simple Text Oriented Messaging Protocol 의 약자로 메세징 전송을 효율적으로 하기 위해 탄생한 프로토콜이다. 기본적으로 pub/sub 구조로 되어있어 메세지를 전송하고 메세지를 받아 처리하는 부분이 확실히 정해져 있어 개발자가 명확하게 인지하고 개발할 수 있음. STOMP 프로토콜은 WebSocket위에서 동작하는 프로토콜로, 클라이언트와 서버가 전송할 메세지의 유형, 형식, 내용들을 정의하는 매커니즘. STOMP는 TCP 또는 WebSocket 같은 양방향 네트워크 프로토콜 기반으로 동작. 이름에서 알 수 있듯이 Text 지향 프로토콜이나, Message Payload에는 Text or Binary 데이터를 포함할 수 있다. pub/sub는 메세지를 공급하.. 2024. 1. 2.
728x90