전체 글 115

[DevOps] Jenkins Pipeline Example

Jenkins Pipeline Declarative 구문이 간결하고 가독성이 좋다. 구조와 흐름을 명시적으로 선언한다. 자동으로 스테이징과 로깅을 처리한다. Scripted 자유로운 스크립팅이 가능하다. 복잡한 로직과 동적 작업 흐름 구성이 가능하다. 가독성과 유지 보수성이 낮을 수 있다. Jenkins Pipeline Example pipeline item 생성 pipeline script 작성 ex) pipeline { ## 실행 가능한 agent 지정 agent any ## 파이프 라인 정의, 스테이지 블록 설정 영역 stages { stage('Compile') { steps { echo "Compiled successfully!"; } } stage('Code Analysis') { steps ..

DevOps 2023.06.27

[DevOps] Jenkins Pipeline 시각화 Delivery Pipeline example

Jenkins Delivery Pipeline 지속적 통합(CI) 도구를 사용하여 소프트웨어 제공 과정을 자동화하고 시각화하는 기능을 제공하는 플러그인 Plugin 설치 Jenkins 관리 -> plugins -> Delivery Pipeline 설치 Item Pipeline 연결 ex) gugbab-eureka-server main gradle jenkins -> Project gugbab-api-gateway main gradle jenkines Delivery Pipeline View 만들기 Delivery Pipeline Veiw 만들기 Pipelines에 시각화할 컴퍼넌트 추가하기 시각화 결과 화면

DevOps 2023.06.26

[DevOps] Ansible Playbook - K8s Script 실행 example

K8s script 만들기 참고 https://puk0806.tistory.com/84 [DevOps] Kubernetes yml - Deployment, Services 만들기 Example Kubernetes yml apiVersion :Kubernetes API의 버전 kind :리소스의 종류 metadata :name 등리소스에 대한 메타데이터 spec :컨테이너 이미지, 포트, 환경 변수 등 세부 사항 deployment ex) deployment.yml ## Kubernetes API의 버 puk0806.tistory.com Ansible 서버 K8s 접근 권한 추가 Ansible 서버 접속 hosts파일에 접근할 k8s 서버 호스트 설정 k8s가 있는 서버에 ssh 키 복사 ssh Key 추..

DevOps 2023.06.22

[DevOps] Kubernetes yml - Deployment, Services 만들기 Example

Kubernetes yml apiVersion :Kubernetes API의 버전 kind :리소스의 종류 metadata :name 등리소스에 대한 메타데이터 spec :컨테이너 이미지, 포트, 환경 변수 등 세부 사항 deployment ex) deployment.yml ## Kubernetes API의 버전 apiVersion: apps/v1 ## 리소스의 종류 kind: Deployment ## name등 리소스에 대한 메타데이터 metadata: name: gugbab-cicd-deployment ## 컨테이너 이미지, 포트, 환경 변수 등 세부 사항 spec: selector: matchLabels: app: gugbab-cicd-devops-project replicas: 2 template..

DevOps 2023.06.21

[Git 교과서] 8장 병합과 충돌

병합 분리된 브랜치를 한 브랜치로 합치는 작업 자동 병합 원본 기준으로 두 파일의 변경 이력을 비교하여 변경된 파일 내용이 발견되면 자동으로 수정된 코드 내용을 병합 자동으로 반영하지 못하는 것들은 충돌이 발생 병합 방식 merge fast--forward 병합 브랜치 경로가 일직선일 경우의 브랜치에서 병합 작업을 할 때 자식 branch의 시작 커밋을 부모 branch 이후의 커밋으로 가리킨다. 3-way 병합 공통 조상을 가지는 두 자식branch를병합하는 방식 git은 공통 조상 커밋을 자동으로 찾아주며, 공통 조상을 기준으로 branch를 병합한다. 병합을 성공적으로 완료한 후 새로운 커밋(병합 커밋)을 새로 생성한다. rebase 시간 순의 순차적 나열이 아닌 기준 브랜치의 마지막 커밋으로 재정..

Git 2023.06.20

[DevOps] K8s - Kubernetes 란? Kubernetes 기본 명령어

https://kubernetes.io/ Production-Grade Container Orchestration Production-Grade Container Orchestration kubernetes.io Kubernetes 컨테이너 오케스트레이션 플랫폼으로서 대규모의 애플리케이션을 관리하고 배포하기 위한 플랫폼 오케스트레이션 컨테이너 기반의 애플리케이션을 운영할 때, 애플리케이션의 배포, 확장, 로드 밸런싱, 모니터링, 장애 복구 등 다양한 작업을 효율적으로 관리하는 것 Kubernetes 특징 컨테이너화 된 애플리케이션 구동 서비스 디시크버리와 로드밸런싱 기능 스토리지의 오케시트레이션 기능 자동화된 배포 기능 환경 변수, 스크릿 파일 등을 사용하여 애플리케이션을 구성 관리 Kubernetes ..

DevOps 2023.06.19

[Git 교과서] 7장 Stash

Stash 커밋되지 않은 변경 내용을 임시 저장할 수 있는 기능이다. Stash 명령어 * 코드 저장 git stash // 현재 작업들을 임시 스택 영역에 저장 git stash save // git stash와 동일하나, 하단과 같이 메세지를 함께 저장 가능 git stash save "WIP: 메시지~~~" // 각각의 스태시 구별할 수 있도록 메시지 추가 가능 git stash --keep-index // 스테이지 영역의 파일들을 제외하고 스태시 git stash --include-untracked // 등록되지 않은 untracked 상태의 파일을 스태시로 생성 ( 단축어: -u ) * 임시 저장 영역의 스택 목록 git stash list // 스태시 스택 조회 git stash show //..

Git 2023.06.15

[IaC] Ansible이란? Ansible config,SSH 설정, module Test

Iac - Infrastructure as Code 인프라의 정보를 스크립트를 통해서 관리하는 것 버전 관리를 통한 리소스 관리가 가능하다. https://www.ansible.com/ Ansible is Simple IT Automation Ansible is the simplest way to automate apps and IT infrastructure. Application Deployment + Configuration Management + Continuous Delivery. www.ansible.com Ansible SSH를 통해 대상 서버에 접속하여 작업을 수행한다. 에이전트 없이 동작한다. 여러개의 서버를 효율적으로 관리할 수 있게 해주는 환경 구성 자동화 도구 Ansible에서 관리..

DevOps 2023.06.11