CI/CD란?CI/CD는 애플리케이션 개발 단계부터 배포 때까지의 모든 단계를 자동화를 통해 좀 더 효율적이고 빠르게 사용자에게 빈번히 배포할 수 있는 것을 말한다.CI/CD의 핵심은 자동화이며, DevOps 엔지니어의 핵심이다. CI/CD의 종류jenkinsGitLabCricleCITeamCity CI (Continuous Integration)지속적인 통합이라는 의미이다.애플리케이션의 버그 수정이나 새로운 코드 변경이 주기적으로 빌드 및 테스트되면서 공유되는 저장소에 통합되는 것을 의미한다.개발자를 위한 자동화 프로세스라고 볼 수 있으며 code - bulid, Test 단계이다.Code: 개발자가 코드를 원격 코드 저장소에 push하는 단계.Build: 원격 코드 저장소로부터 코드를 가져와 유..
전체 글
Dev, sec, ops·Git
1. Github Repository 생성깃허브 로그인 GitHub: Let’s build from hereGitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...github.com가장 먼저 깃허브에 들어가 로그인을 한다. 왼쪽 상단에 있는 Top repositories 옆에 New 버튼을 누른다. New 버튼을 누르면 해당 화면이 나오게 된다.맨 위 Repository name은 우리가 사용하게 될 저장..
helm쿠버네티스를 사용하다 보면 수많은 템플릿을 관리해야 하는데 이 때 헬름을 통해 쉽게 관리할 수 있다.헬름은 템플릿 파일들의 집합을 관리하는 쿠버네티스 패키지 매니저 도구이다.차트와 차트 압축 파일을 만들고, 차트가 저장된 차트 저장소와 연결해 쿠버네티스 클러스터에 차트를 설치하거나 삭제할 수 있다.헬름을 이용하면 잘 정리된 차트들로 필요한 애플리케이션들을 빠르게 설치할 수 있다.chart: 쿠버네티스에서 실행할 애플리케이션을 만드는데 필요한 정보 묶음config: 패키지한 차트에 넣어서 배포 가능한 오브젝트를 만들 때 사용할 수 있는 설정.release: 특정 config를 이용해 실행 중인 차트의 인스턴스. 헬름 클라이언트와 틸러 서버헬름은 커맨드라인 인터페이스인 헬름 클라이언트와 헬름 클라이..
Kubernetes-Cluster쿠버네티스 클러스터는 두 종류의 서버로 구성된다.클러스터를 관리하는 마스터, 실제 컨테이러를 실행시키는 노드 마스터etcd, kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy, docker 등의 컴포넌트가 실행된다.etcd고가용성을 제공하는 키-값 저장소.필요한 모든 데이터를 저장하는 데이터베이스 역할.etcd에 있는 데이터를 백업하여 안정적으로 운영한다.서버 하나당 프로세스 1개만 사용 가능.kube-apiserverAPI를 사용할 수 있도록 하는 컴포넌트.쿠버네티스는 마이크로서비스 아키텍처이므로 서로 분리된 컴포넌트 여러 개로 구성되어 있다. 쿠버네티스에서 보내는 모든 요청은 ku..
nestJS 설치는 이전 게시물을 참고.Prisma 기본 설정prisma 설치npm install prisma --save-devnpx prisma init prisma를 install하고 init하면 폴더에 /prisma/schema.prisma가 생성된다. schema.prisma 파일 수정// schema.prisma// This is your Prisma schema file,// learn more about it in the docs: https://pris.ly/d/prisma-schema// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?// Try Pris..
문제 설명두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return 하도록 solution함수를 완성해주세요. 제한 사항1 ≤ s1, s2의 길이 ≤ 1001 ≤ s1, s2의 원소의 길이 ≤ 10s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다s1과 s2는 각각 중복된 원소를 갖지 않습니다. 입출력 예s1s2result["a", "b", "c"]["com", "b", "d", "p", "c"]2["n", "omg"]["m", "dot"]0 나의 풀이function solution(s1, s2) { let cnt = 0; for(let i = 0; i 이중 for문을 사용하여 s1의 모든 원소를 s2와 비교하여 카운트한다. 다..
문제 풀이정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항1 ≤ num_list의 길이 ≤ 1000 ≤ num_list의 원소 ≤ 1,000 입출력 예num_listresult[1, 2, 3, 4, 5][2, 3][1, 3, 5, 7][0, 4] 나의 풀이function solution(num_list) { let odd = 0; let even = 0; let result = []; for(let i = 0; i num_list 길이 만큼 for문을 돌려 짝수면 even 카운트를 +1, 홀수면 odd 카운트를 +1 한다.해당 카운트 된 even, odd를..
Volume에 대한 자세한 설명은 이전 포스팅 참고VolumeVolue은 Pod의 구성요소로 Pod Spec에서 정의된다.파드가 시작되면 볼륨이 생성되고, 파드가 삭제되면 볼륨이 삭제된다.볼륨은 파드의 모든 컨테이너에서 사용 가능하고 접근하려는 컨테이너에서 각각 마운트 되어야 한다. EmptyDir아무 데이터도 없는 빈 디렉토리를 제공해준다.파드의 컨테이너 간에 Volume을 공유하기 위해 사용하며 컨테이너 간 파일을 공유할 때 유용하다.파드가 실행되는 도중 컨테이너가 함께 사용할 수 있도록 임시 저장 공간을 생성한다. spec: container: - volumeMounts: - name: [마운트할 볼륨 이름] mountPath: [경로] volumes: - name: [볼..