Docker 기반 CI·CD 파이프라인 구축 18

CI/CD - Build push/pull (Docker Image 저장소 : AWS ECR) + (GitLab을 이용한 자동화 : GitLab Runner)

만들었고, 아직 아무런 image가 없다. No images.이 오른쪽 위에, View push commands 를 봐야 한다.이 저장소를 사용하기 위한 다양한 명령어들이 있다.당연히 이것도 마찬가지로, ECR에 대한 접근 권한이 있어야 한다.접근 권한을 생성해줘야 한다.이 명령어를 사용하기 전에 접근 권한을 먼저 설정하는 일을 해봐야 한다. Docker Image는 회사의 중요한 자산이다.Docker Image는 사실상 제품에 대한 정보를 가지고 있는 것이니까.그러니 그걸 저장하고 있는 ECR은 아무나 접근하게 두어선 안 된다.그래서 권한 관리를 해줘야 한다.AWS에서는 IAM 이라는 서비스를 이용해서 권한을 관리를 할 수 있다.IAM을 통해서 access key, secret key 를 가지고 key..

CI/CD - 프로젝트 코드 작업 (AWS ECR push 하기 전 Dockerfile, Docker Image, container까지)

우선, Group 을 만들고, 거기서 project (test-app) 을 생성하는데, 그 안에는 Dockerfile, Makefile 이 있을 것이다.Docker Image가 만들어지고 나면, push 를 해서 AWS ECR에 저장될 것이고 Docker Container를 실행할 수 있게 된다.일단 지금은, AWS ECR 에 push 하기 전까지의 단계까지만 진행해볼 것.GitLab 기반 Docker 이미지 생성 및 AWS ECR 푸시 워크플로--------------------------------------------------1. 그룹 생성: - GitLab에서 새로운 그룹(Group)을 생성. └── 그룹 이름: [그룹 이름]2. 프로젝트 생성: - 그룹 안에 새로운 프로젝트(Pr..

CI/CD - GitLab과 Docker Application 빌드 / GitLab 가입 후 Git 저장소 생성 /

1. GitLab 소개와 가입- Gitlab 은 기본적으로 AWS 클라우드처럼 인터넷 서비스다. 그래서 인터넷 서비스라서 가입을 해야 사용가능함.- GitLab 은 세계에서 가장 널리 사용하는 CI/CD 툴 중 하나. GitLab 프로젝트를 만들고 Git 기반으로 소스코드를 관리하고, 자동으로 Docker 어플리케이션을 빌드하게 된다. 2. Gitlab 프로젝트 설정3. Gitlab 을 이용한 Docker 어플리케이션 빌드- Docker 어플리케이션 빌드를 해서 나오는 결과로 Docker Image가 만들어짐. 4. Docker Image 를 ECR 저장소에 push- 만들어진 Docker Image를 사용하기 위해서는 저장소에 저장을 해야 하는데, ECR 이라고 하는 Docker 저장소에 push를 하..

CI/CD - Docker란? / Docker vs. VM / Docker 설치 후 사용 / Docker Hub / Docker 명령

Docker란 무엇인가?Docker는 애플리케이션을 실행할 때 필요한 모든 것(코드, 라이브러리, 설정)을 하나의 컨테이너라는 "상자"에 담아두는 기술이에요. 이 상자는 개발, 테스트, 배포 등 어디로 가든 동일하게 작동해요. 그러니까 개발 환경과 배포 환경이 달라서 "왜 여기선 작동 안 하지?" 하는 고민이 사라지는 마법 같은 도구예요.한마디로 Docker는?"내 컴퓨터에서 잘 돌아가는 걸, 어디서든 잘 돌아가게 해주는 도구!"왜 Docker를 써야 할까요?과거의 문제개발자들이 Docker 없이 개발하던 시절엔 이런 문제가 많았어요:"왜 개발 환경에선 되는데 서버에선 안 돼?"개발자는 Windows를 쓰고, 서버는 Linux라서 설정이나 의존성 충돌로 문제가 생김.배포는 너무 복잡했어요.운영팀이 직접 ..

CI/CD - Linux 핵심 명령어 / Linux 코드 작성 환경 준비 (vs code) / 간단한 Flask 어플을 만들어보는데, Flask가 뭐지? / EC2 인스턴스에 연결하기

Linux에서 자주 사용되는 핵심 명령어는 파일 관리, 시스템 상태 확인, 프로세스 제어 등 다양한 작업을 수행하는 데 유용합니다. 아래는 Linux 초보자부터 중급자가 알아두면 좋은 주요 명령어를 간단히 정리한 목록입니다.1. 파일 및 디렉토리 관리(1) 디렉토리 탐색 및 관리ls디렉토리 내용 확인.cd디렉토리 이동.pwd현재 작업 중인 디렉토리 경로 출력.(2) 파일 및 디렉토리 생성/삭제touch빈 파일 생성.mkdir새 디렉토리 생성.rm파일 또는 디렉토리 삭제.cp파일/디렉토리 복사.mv파일 이동 또는 이름 변경.2. 파일 내용 확인cat파일 내용 출력.less긴 파일을 페이지 단위로 읽기.head / tail파일의 시작 또는 끝 부분 출력.grep파일 내용에서 특정 문자열 검색.3. 권한 및 ..

CI/CD - AWS EC2 / Linux 사용 - Linux 운영체제 - VirtualBox / Ubuntu Linux (iso) /

AWS EC2에 대해서 간단하게 설명해줄 수 있어?AWS EC2(Amazon Elastic Compute Cloud)는 Amazon Web Services에서 제공하는 **가상 서버(인스턴스)**를 생성하고 관리할 수 있는 서비스입니다. 간단히 말해, 인터넷 상에서 필요한 컴퓨팅 자원을 제공하는 클라우드 기반의 가상 서버 서비스라고 할 수 있습니다.주요 특징가상 서버 제공EC2를 통해 원하는 성능과 사양의 서버를 쉽게 생성할 수 있습니다. CPU, 메모리, 스토리지 등을 선택해 맞춤형 서버를 만들 수 있습니다.확장성과 유연성서버 자원을 필요에 따라 늘리거나 줄일 수 있어, 트래픽이 많은 시간대에는 서버를 확장하고, 사용량이 적을 때는 축소하여 비용을 절감할 수 있습니다.요금제사용한 만큼만 요금을 지불하는..

CI/CD - CI/CD가 무엇인가?

핵심은 자동화!소프트웨어를 통한 자동화!CI/CD(Continuous Integration/Continuous Delivery 또는 Continuous Deployment)는 소프트웨어 개발 및 배포 과정에서 효율성을 높이고, 품질을 유지하며, 신속한 배포를 가능하게 하는 핵심적인 방법론입니다. 이를 차근차근 설명해드릴게요.1. CI/CD란 무엇인가요?CI/CD는 크게 두 가지 주요 프로세스로 나뉩니다:CI(Continuous Integration): 개발자가 작성한 코드를 주기적으로 통합(Integration)하고 테스트하는 프로세스입니다. 목표는 코드 충돌을 빠르게 발견하고 해결하여 코드 품질을 높이는 것입니다.CD(Continuous Delivery 또는 Continuous Deployment): ..

Docker 기반 CI·CD 파이프라인 구축하기 (KDT 과정 전 수강 가능한 KDC 과정)

앞으로 1년간의 계획에 대해서 기록했었다. 앞으로 1년간의 계획 (이전 1달 동안의 기록, 앞으로 1달과 1년간의 계획)꽤 오래전부터 내가 일하던 분야에서 떠나 다른 분야로의 전향, 새로운 도전을 해야한다는 생각을 했다.나는 수학을 가르치는 사교육 과외 선생이었고 마지막으로는 수학 교습소 운영과 강의를wy-family.tistory.com나는 스마트팩토리 KDT 교육 과정에 참여하기를 희망하고 있다.그냥 희망하면 다 참여할 수 있는거라면 걱정할 것도 없고 준비할 필요도 없을 수 있지만,좋은 커리큘럼을 가지고 다양한 혜택을 제공하는 KDT 교육의 경우에는 경쟁률이 만만치 않다.어쨌든, 내년 상반기에 있을 현대오토에버 스마트팩토리 KDT 교육 과정에 합격하기를!!!취업을 하기 위한 교육이지만, 그 교육마저도..