PaaS/CI CD 50

App of Apps Pattern 이란? 그리고 ArgoCD에는 어떻게 정의해야 하나

App of Apps 패턴은 사실 원래 있던 구조 였다. 레거시로 거슬러 올라가면 Parrent 모듈에 Sub모듈이 있는 프로젝트가 그랬듯이 요즘 대두되는 App of Apps 패턴도 종속관계를 이용한 배포구성이다. 다만 요즘에는 어플리케이션이 인프라 레벨까지 배포컨트롤이 가능한 컨테이너 Base로 구현되다 보니, 레거시 보다 확장된 범위의 자원을 App of Apps 패턴으로 관리하고 있다. 토스뱅크도 배포 대상의 환경이 Kubernetes로 되어 있어 App of Apps 패턴을 적용하여 관련 리소스를 일괄 배포한다고 한다. (아래 링크 참조) https://armyost.tistory.com/240 토스뱅크의 쿠버네티스 기반 CI/CD 환경 관련링크 : https://www.youtube.com/w..

PaaS/CI CD 2022.06.02

(Gitlab) Gitlab yum install 방법, 관리자 비밀번호 초기화

Gitlab 은 Memory최소사양이 4GB입니다. 필자는 AWS EC2 t2.medium 인스턴스로 진행하였습니다. 1. 기본 구성요소 설치 $ sudo yum install curl policycoreutils-python openssh-server 2. gitlab-ce 설치 $ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash $ sudo yum install gitlab-ce 3. gitlab 서버 정보 수정 후 설정완료 $ sudo vim /etc/gitlab/gitlab.rb ## /etc/gitlab/gitlab.rb external_url 'https://gitlab..

PaaS/CI CD 2022.03.29

(Kubernetes, Jenkins) Docker이미지를 kubernetes 밖에서 빌드할 것인가 kubernetes Jenkins Agent에서 빌드할 것인가

관련링크 https://medium.com/hootsuite-engineering/building-docker-images-inside-kubernetes-42c6af855f25 Building Docker Images inside Kubernetes The Problem medium.com Docker 이미지를 DockerHub등에 Push 하기위해서 Docker Runtime을 사용해야 한다. 이때 1. Jenkins에서 Docker Plugin만을 이용해서 Build하는 방법과 2. Jenkins에서 Kubernetes 노드를 연결하여 WorkerNode에 Agent를 생성하여 Build하는 방법이 있다. 각 방법의 장단점을 이야기 하고자 한다. 1번 방법의 경우 보안이 뛰어나다. 굳이 Kubern..

PaaS/CI CD 2022.02.21

(Gitlab) Gitlab 도메인 설정

Gitlab 로컬 호스트 IP로 서비스하게 되면 보안적인 문제도 있을뿐더러 추후에 IP가 바뀌게 되면 관련 IDE, CI/CD 모듈에서 전체적으로 바뀌어야 하는 불편함이 있다. 따라서 도메인을 설정하여 운영하여 효율을 제고할 필요가 있다. ※ 오픈소스(Gitlab 뿐만아니라 모든)로 작업할 경우 서버의 리소스를 반드시 Hardware Requirement에 충족되는 자원할당 바람 1. 우선 Gitlab 서버의 host에서 변경작업을 수행한다. $ sudo vi /etc/hosts hosts에서 아래의 도메인 설정을 로컬호스트로 등록한다. 필자는 'gitlab.armyost.com'으로 서비스 할 예정이다. 127.0.0.1 gitlab.armyost.com gitlab 2. Gitlab 설정 파일을 변경..

PaaS/CI CD 2022.02.15

(JAVA-Jenkins) Java SpringFrameWork Jenkins 파이프라인 With Nexacro

일반 파이프라인 STAGE 1. Maven 빌드 2. War파일(Artifact) WAS 전송 3. Java 컨테이너 Restart Nexacro 추가된 파이프라인 STAGE 1. Nexacro 빌드 2. Maven 빌드 3. War파일(Artifact) WAS전송 4. Nexacro 소스파일 WAS 전송 5. Nexacro 소스파일 Unzip 6. JAVA 컨테이너 Restart 1. Nexacro Generator를 통한 UI소스 Build 및 Nexacro Deploy Server에 업로드* - Gitlab → Nexacro Deploy Server ※ Nexacro Build 스크립트 예시 echo "NEXABUILD START!!!" set PROJECT_NM=armyost_project set..

PaaS/CI CD 2022.01.24

CI/CD 배포 전략 설계시 고려사항

관련링크 : https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf 빌드배포 환경의 범위를 결정하는 요소들 요 소 기 준 Application Architecture Dependencies, loosely/Tightly Coupled Organization Speed and Number of Iterations Risk and Complexity Blast radius and impact of failed deployment Teams Expertise of teams Process Testing/QA, rollback capability Cost Operating budgets, additional resources Blue/Green ..

PaaS/CI CD 2022.01.17

(Jira-Jenkins) Jira를 통한 Jenkins 자동빌드 유발

참고URL : https://metleeha.tistory.com/entry/KubernetesIKS%EC%97%90%EC%84%9C-Jira-%ED%99%9C%EC%9A%A9%ED%95%9C-CICD-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B044?category=792075 Kubernetes(IKS)에서 Jira 활용한 CI/CD 파이프라인 구축하기(4/4) Kubernetes(IKS)에서 Jira 활용한 CI/CD 파이프라인 구축하기(4/4) Part 4. Jira에서 Gitlab, Jenkins CI/CD 운영하기 Jira Issue에 소스 커밋, 빌드 정보를 업데이트 하고, 워크플로우에서 J..

PaaS/CI CD 2021.11.11