본문 바로가기

⭐ CICD

(15)
Jenkins에서 BitBucket 환경 설정 방법 (dev, stg, prd) # Jenkins에서 BitBucket 환경에 따른 파라미터 부여 방법Bitbucket과 Jenkins를 사용하여 개발(dev), 스테이징(stg), 프로덕션(prd) 환경을 구분하는 방법은 여러 가지가 있다. 파라미터를 사용하여 환경을 구분하는 일반적인 접근 방식은 다음과 같다:Jenkins 파라미터 설정:Jenkins에서 파이프라인 또는 프리스타일 프로젝트를 설정할 때, "이 빌드는 파라미터가 필요합니다" 옵션을 선택."String Parameter"를 추가하여 이름을 ENV로 설정하고, 기본값으로 dev를 설정할 수 있다. 설명란에는 "Deploy environment (dev, stg, prd)"와 같이 작성하여 사용자가 입력할 수 있는 옵션을 명시.Jenkinsfile 또는 스크립트에서 파라미터..
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..