Container Registry 생성 Repo의 [Setting]에서 [Packages & Registries] 에 들어가서 [Container Registry] 선택한다 container가 없다면 다음과 같은 화면이 나온다 첫번째 명령어부터 CLI에 입력한다 컨테이너 레지스트리 로그인 docker login registry.gitlab.com username 과 password 는 gitlab것을 입력한다 컨테이너 빌드 docker build -t registry.gitlab.com/ . Dockerfile없이 이 명령어만 입력하면 다음과 같은 에러가 나온다 unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat..
미리 준비해야 될 것 1. runner가 설치 및 등록되어 있어야 함 -> [이전 포스트] 참고 2. .gitlab-ci.yaml 파일이 만들어져 있어야 함 .gitlab-ci.yaml 파일 https://docs.gitlab.com/ee/ci/variables/ variable -환경변수 같은 존재 -job과 pipeline의 동작 관리 -다시 사용하고 싶은 값 저장 -하드코딩 피할 때 사용 job: 스크립트의 그룹 pipeline: job이 pipeline의 단위로써 실행\ stage: 다양한 독립적인 job들의 그룹 하고자하는 동작 순서대로 작성 .gitlab-ci.yaml 파일 생성하기 stages: - build - test build: stage: build script: - docker lo..
Binary 파일을 이용하여 GitLab Runner 설치 # Linux x86-64 sudo curl -L --output /usr/local/bin/gitlab-runner "https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64" sudo chmod +x /usr/local/bin/gitlab-runner sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitl..
GitLab 인프라 관리 GitLab을 사용하여 DevOps 워크플로우를 구성하는 방법은 크게 두가지다 첫번째는 Kubernetes Agent이고, 두번째는 Cluster certificates를 사용하여 클러스터를 추가하는 방법이다 이 외에도 Group-level clusters, Instance-level clesters 등이 있긴하지만 여기서는 이미 존재하는 클러스터 하나를 GitLab과 연동하는 포스팅을 할 것이다. 또한 Add a cluster using cluster cetificates방법은 현재 deprecated될 것이기 때문에 Kubernetes Agent를 사용하여 연동해볼 것이다 1 Kubernetes Agent Server(KAS) 셋업 KAS 설치 # Edit /etc/gitla..
Istio 란 무엇일까 Istio는 마이크로서비스 간 데이터 공유를 제어하는 기반을 제공하는 오픈소스 서비스 메쉬 플랫폼 로깅 플랫폼, 텔레메트리 또는 정책 시스템으로 통합하도록 지원하는 API포함 온프레미스, 쿠버네티스 컨테이너, 가상 머신 등 다양한 환경에서 구동됨 Istio 구성하기 curl -L https://istio.io/downloadIstio | sh - cd istio-1.10.2 export PATH=$PWD/bin:$PATH Istio namespace생성하기 apiVersion: v1 kind: Namespace metadata: name: istio-system labels: istio-injection: disabled 다음과 같이 istio-namespace.yaml파일을 생성..
새로운 빈 프로젝트 생성 Kubernetes 클러스터와 연결 메뉴바 -> [Infrastructure] -> [Kubernetes clusters] -> [Connect existing cluster] Kuberbetes cluster name kubectl get nodes -o wide cmd에 다음과 같은 명령어를 입력하여 cluster의 이름을 얻는다 Environment scope Gitlab Docs Group-level Kubernetes clusters | GitLab Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner. docs.gitlab.com Pro..
로컬 컴퓨터의 ssh-key 생성 ssh-keygen cat ~/.ssh/id_rsa.pub 원격저장소에 복사한 ssh-key 등록 [Edit Profile] - [SSH Keys] - [Add an SSH key] 원격저장소와 로컬컴퓨터 동기화 셋팅 git config --global user.name "이름" git config --global user.email "이메일" mkdir 프로젝트이름 cd 프로젝트이름 git init touch README git add README git commit -m 'first commit' git remote add origin git@gitlab.com:demun/저장소이름.git git push -u origin master
https 로 url을 정하고 설치시 gitlab-ctl 가동작되는 동안 에러가 있다는 메세지가 뜨며 설치가 완료되지 않는다 letsencrypt 설치하기 apt-get install -y letsencrypt letsencrypt --version #certbot 0.40.0 인증에 사용 할 설정 추가하기 vim /etc/gitlab/gitlab.rb letsencrypt['enable'] = true # GitLab 10.5 and 10.6 require this option external_url "https://gitlab.example.com" # Must use https protocol letsencrypt['contact_emails'] = ['foo@email.com'] # Optiona..
sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates tzdata perl sudo apt-get install -y postfix curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ce https 프로토콜을 사용할 것이라서 letsencypt 관련 에러가 났다. gitlab은 https를 사용하게되면 자동적으로 letsencrypt 에 요청한다 Running handle..