본문 바로가기

CI6

[CI/CD] GitHub Actions CI/CD Workflow ✍ Posted by Immersive Builder  Seong  1. What is GitHub Actions GitHub Actions 란?GitHub Actions는 GitHub 에서 제공하는 서버리스 CI/CD 자동화 도구입니다. GitHub Actions를 사용하여 레포지토리에서 바로 소프트웨어 개발 워크플로우를 자동화, 사용자 지정 및 실행합니다. CI/CD를 포함하여 원하는 작업을 수행하기 위한 작업을 검색, 생성 및 공유하고 완전히 사용자 정의된 워크플로우에서 작업을 결합할 수 있습니다.  GitHub에서 워크플로우를 실행하기 위한 Linux, Windows, macOS 기반의 가상 머신을 제공하거나, 사용자 고유의 데이터 센터 또는 클라우드 인프라에서 셀프 호스티드 실행기를 호스트할 수.. 2024. 12. 15.
[CI/CD] 도커 기반 어플리케이션 CI/CD 구성하기 ✍ Posted by Immersive Builder  Seong  도커 기반 어플리케이션 CI/CD 구성하기 이번 실습은 아래와 같이 CI/CD 워크플로우를 구성하는 것이 목표입니다. 개발자가 깃 저장소에 새로운 코드를 푸시할 때 웹훅을 트리거하여 CI/CD 서버를 동작시키고, CI/CD 서버는 소스코드를 가져와서 컨테이너 이미지를 빌드하여 이미지 저장소에 푸시합니다. 이후 이미지 저장소로부터 컨테이너 이미지를 가져와서 신규 버전을 배포하게 됩니다.    Gogs Webhooks 설정 우선 Gogs 저장소에 이벤트가 발생했을 때 웹훅을 트리거하도록 설정합니다. Gogs의 dev-app 저장소 설정으로 들어가 'Webhooks' 탭을 클릭하고 추가할 웹훅으로 Gogs를 선택합니다. 그리고 이벤트에 의해 .. 2024. 12. 12.
[CI/CD] Jenkins 기본 사용하기 ✍ Posted by Immersive Builder  Seong  Jenkins 기본 사용하기 작업 소개 작업은 프로젝트, Job, Item 3가지 유형의 지시 사항을 포함합니다.  Trigger : 작업을 수행하는 시점 작업 수행 태스크가 언제 시작될 지를 지시합니다.Build Step : 작업을 구성하는 단계별 태스크특정 목표를 수행하기 위해 태스크를 단계별 Step으로 구성할 수 있습니다. Post-build action : 빌드 후 조치 태스크가 완료되고 수행할 명령을 지시합니다. 예를 들어 작업의 결과(성공 또는 실패)를 사용자에게 알려주는 후속 동작이나, 자바 코드를 컴파일한 후 생성된 클래스 파일을 특정 위치로 복사하는 등 후속 조치를 구성할 수 있습니다.  Item 생성하기새 Item(f.. 2024. 12. 8.
[CD/CD] CI/CD 실습 환경 구성하기 ✍ Posted by Immersive Builder  Seong  CI/CD 실습 환경 구성하기 이번 실습은 CI/CD를 테스트하기 위한 환경을 구성합니다. CI/CD 워크플로우를 구성하기 위해 Jenkins와 Gogs, 그리고 Docker Hub를 사용할 예정입니다. Jenkins는 개발 프로세스의 단계를 자동화하는 도구로 최신 코드 가져오기, 소스코드 컴파일, 단위/통합 테스트, 아티팩트 패키징, 아티팩트 배포 등의 기능을 제공합니다. Gogs는 셀프 호스티드 소스 저장소 기능을 제공하고, Docker Hub는 컨테이너 이미지를 저장하고 공유하는 기능을 제공합니다.  ▶ Jenkins 란 : https://www.jenkins.io/ JenkinsJenkins – an open source auto.. 2024. 12. 8.
[CI/CD] 컨테이너를 활용하여 어플리케이션 개발하기 ✍ Posted by Immersive Builder  Seong  컨테이너를 활용하여 어플리케이션 개발하기 Python으로 특정 문자열 출력 "Hello Docker"라는 간단한 문자열을 출력하는 파이썬 코드를 작성하고 컨테이너 이미지를 빌드합니다. 빌드한 이미지를 기반으로 컨테이너를 실행하여 출력 결과를 확인합니다.   코드를 수정할 경우 다시 빌드를 진행해야 수정한 내용이 반영됩니다. 이 때, 컨테이너 이미지에 태그를 달아 버전을 관리할 수 있습니다. 가장 최근에 빌드한 이미지에 hello:latest 태그를 추가하여 최신 버전을 구분하기도 합니다.   Compiling code in Docker 이번에는 자바 코드를 컴파일하여 동일한 문자열을 출력하는 컨테이너 이미지를 빌드해보겠습니다. 컨테이너 .. 2024. 12. 7.
[AEWS2] 7-1. EKS CI/CD - Jenkins ✍ Posted by Immersive Builder Seong 1. 사전 준비 Docker Hub DockerHub(https://hub.docker.com/) 사이트에 깃허브 계정(okms1017)으로 가입합니다. Docker DockerHub에서 Ubuntu 20.04 이미지를 내려받아 커스터마이징합니다. Apache와 Figlet을 설치하고 버전정보와 함께 간단한 웹 페이지를 구성합니다. # ubuntu image download $ docker pull ubuntu:20.04 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 20.04 33985b2ba010 8 days ago 72.8MB # WEB 디렉토리 생성 $ mkdir -p /r.. 2024. 4. 21.