본문 바로가기

반응형

⭐ CICD

(14)
Jenkins(Localhost) to ec2 배포하기 # Jenkins(Localhost)에서 ec2로 배포하기 AWS 내부 서비스인 Code 시리즈가 존재 한다. 그리고 해당 서비스로 배포를 설정해 놓으면 간단하게 파이프라인을 구성할 수있다. 하지만 해당 서비스를 이용하면 비용이 발생하고, 로컬 환경에서 ec2를 이용해 테스트 환경을 구축할때 굳이 AWS 자원을 소모하면서 까지 테스트 환경을 구축할 필요가 없을때는 Local에 jenkins를 설치 후 ec2에 바로 배포하여 테스트를 하는 방법이 있다. 해당 방법을 알아보자. 1. 일단 플러그인 설치가 필요하다. Jenkins에서 빌드한 결과물이 war나 jar 파일로 떨어질것이고 해당 결과물을 ssh를 이용해 ec2로 전송해 줘야 한다. 전송 하기 위해서는 Publish Over SSH 플러그인이 필요하..
Jenkins Repository 를 Codecommit 저장소로 활용하기 # Jenkins 저장소를 Codecommit Repository 저장소로 활용하기 - 보통 CodeCommit에 저장되는 소스가 변경될때 Jnekins를 통해 자동으로 배포를 하기 위한 파이프라인을 구성한다. 가장 중요한 것은 CodeCommit(브랜치)의 코드 변동을 Jenkins가 감지를 해야한다. 그리고 해당 작업은 Amazon CodeCommit, Amazon SNS, Amazon SQS + Jenkins를 사용하여 구현이 가능하다. - 작업의 구성은 아래와 같다. CodeCommit에 Trigger를 활용해 SNS를 호출하고, 해당 이벤트를 SQS에 저장하고, 저장된 Queue를 Jenkins가 감지하여 자동으로 빌드되는 구조이다. - 장점과 단점 장점 : 하나의 SNS/SQS 설정을 통해 복..
jenkins를 pod로 설치 및 실행하기 # jenkins를 pod로 설치 및 실행하기 - jenkins를 pod로 설치하여 실행하는 방법에 대해서 알아본다. jenkins는 가장 많이 사용하고 있는 오픈소스 CI 툴이다. 물론 AWS나 구글 클라우드 등에서 제공하는 CI 서비스 제공하여 CSP에서 제공하는 서비스를 많이 사용하고 있는 추세이다. 설치하는 방법은 아래와 같다. 1. jenkins deployment.yaml 파일 배포 - 해당 코드에서는 별도의 pv를 설정하지는 않았지만 운영환경이나 기타 pv가 필요한 환경에서는 pv 설정을 반드시 해줘야 데이터의 손실을 막을 수 있다. 해당 과정은 테스트 과정이므로 emptyDir 로 설정을 하여 진행 한다. emptyDi과 관련된 내용은 아래의 URL을 참고한다. 2021.09.11 - [⭐..
argocd와 helm chart Repository 연동 # helm chart Repository와 argocd를 연동하여 리소스 배포 1. 이전에 생성한 helm chart Repository를 확인 - 아래 url을 참고하여 helm chart Repository 구성 2023.03.10 - [Helm Repository/GitHub] - Github를 helm chart Repository로 활용하기 with chart 패키징 Github를 helm chart Repository로 활용하기 with chart 패키징 # Github를 HelmChart Repository로 활용하는 방법에 대해서 기술한다. 일단 왜 GitHub을 HelmChart Repository로 활용을 해야 하는지 보면 코드를 공유하고 관리하기가 편하기 때문이다. 로컬에서 helm..
CodeCommit 에서의 Dockerfile과 Buildspec.yaml with bash # CodeCommit에서 Dockerfile과 Buildspec.yaml 파일 에서의 bash shell script 사용 방법에 대해 알아본다. - 매우 당연한 이야기 이지만 Dockerfile과 Buldspec.yaml 에서 bash shell 스크립트를 명시 후 사용 할 수 있다. (물론 jenkins에서도 가능하다.) 빌드 시 shellscript를 사용할 수 있는것은 매우 큰 장점이다. 다양한 작업을 간단한 명령어 로 처리할 수 있으므로 shellscript를 잘 알아두면 여러가지 효율적인 작업이 가능하다. ※ Dockerfile에서의 bash 사용법 - 많은 사람들이 이미 알고있는 내용 이겠지만, RUN 명령어 이후에 shellscript를 명시하면 명령어를 실행 할 수 있다. ※ Build..
Jenkins 설치 # Jenkins을 설치하는 과정에 대해서 알아보자. Jenkins 이란 Jenkins는 Java로 빌드 된 오픈 소스 CI (Continuous Integration) 및 CD (Continuous Delivery) 도구이며, Jenkins는 기본적으로 소프트웨어 프로젝트를 빌드, 테스트 및 배포하기 위해서 사용한다. 또한 DevOps 개발 도구의 가장 기본적인 도구이다. Jenkins 설치 방법 1. apt 업데이트 apt-get update 2. JDK 8 설치 ※ 원하는 JDK 버전으로 설치해도 무관하다. 현재 버전은 11, 17, 21 버전을 지원한다. 8버전은 이제 지원 안한다. sudo apt-get install openjdk-8-jdk jdk 11, 17, 21 버전 설치 해야됨. 3. ..
Jenkins을 활용하여 Docker 이미지 빌드하기 1. Docker를 설치 2021.04.07 - [AWS/Docker (도커)] - Docker 설치(1부) Docker 설치(1부) - 이전 설치에서 알아본 jupyter에서 터미널을 연다. - 도커는 하드디스크 용량을 많이 사용할 수 있으므로 df -h를 확인하여 설치전에 용량을 확보한다. - sudo apt update를 입력하여 최신버전으로 유 may9noy.tistory.com 2. Jenkins 설치 2021.11.17 - [CI | CD] - Jenkins 설치 Jenkins 설치 # Jenkins을 설치하는 과정에 대해서 알아보자. Jenkins 이란 Jenkins는 Java로 빌드 된 오픈 소스 CI (Continuous Integration) 및 CD (Continuous Deliver..
ArgoCD + Docker hub 를 활용하여 Kubernetes에 배포하기 # 새로운 CI 방법과 CD방법이 계속해서 등장한다. 새로운 기술들이 그것도 오픈소스로 지속적으로 등장하기 때문에 트랜드를 빨리 파악하고 테스트 해보고 적용하여 필요한 부분을 적용하는 것이 중요할거 같다. - 대표적인? CD 방법인 요즘 핫한(나만 핫한가?) ArgoCD를 통해 Kubernetes 클러스터에 Docker 이미지를 배포하는 방법에 대해서 알아보자. - 일단 ArgoCD란? - CD(지속적 배포)의 배표적인 툴 이다. 직관적이고 사용성이 편리하여 최근에 가장 많이 쓰이고 있다. 그리고 ArgoCD를 사용하여 Kubernetes에 배포하면 Git에서 수정사항이 발생할 때, 자동으로 ArgoCD에서 수정하여 에러를 줄이고 지속적인 배포를 구현할 수 있다. 또한 각 버전들은 Git 저장소에 기록되..

728x90
반응형