DevOps 43

[Git] Git log 옵션 정리

Git logcommit에 관한 히스토리를 조회하는 명령어 Git log의 주요 옵션-p: 각 커밋에 적용된 패치를 보여줍니다--stat: 각 커밋에서 수용된 파일의 통계정보를 보여줍니다--shortstat: --stat의 결과 중에서 수정한 파일, 추가된 라인, 삭제된 라인만 보여줍니다--name-only: 커밋 정보 중에서 수정된 파일의 목록만 보여줍니다--name-status: 수정된 파일의 목록을 보여줄 뿐만 아니라 파일을 추가한 것인지, 수정한 것인지, 삭제한 것인지도 보여줍니다--graph: 브랜치와 머지 히스토리 정보까지 그래프로 보여줍니다--pretty: 지정한 형식으로 보여줍니다ex) git log --pretty=format: "%h, %an " --name-only --no-merge..

DevOps/Git 2024.08.22

[git] git commit message 한글 깨짐 현상 해결

git commit message에서 한글을 인식하지 못하고 다음과 같이 요상한 문자가 생기는 경우가 있습니다. 해결책은 다음과 같습니다. 해당 프로젝트 내 .git (Shift + Command + .) 폴더 접근 config 파일에 다음을 추가합니다. [i18n] commitEncoding = utf-8 logOutputEncoding = utf-8 or 명령어로 처리할 시 git config --global i18n.commitEncoding utf-8 git config --global i18n.logOutputEncoding utf-8 다음과 같이 로그 출력과 커밋 메세지 출력을 global하게 utf-8로 설정해주시면, 이상한 특수문자가 보이지 않고 한글이 깨지지 않게 됩니다. https://..

DevOps/Git 2024.02.27

[git] git tag 기능에 대해 알아보자

tag가 뭔지에 대해 간략하게 설명드리겠습니다. tag 프로젝트에서 중요한 시점들을 기록해 두는 방법 주로 release(새로운 버전 출시)를 위해 사용되는 키워드입니다 tag를 만드는 시점이 어떤 version을 release하는 시점입니다 tag의 종류 lightweight tag: commit id만을 보존하는 태그 annotated tag: tag를 만든 사람의 이름, 이메일, 날짜, 메세지 등을 저장 주요 명령어 git tag: tag 리스트를 보여줌 git tag -l ‘v1.4.2.*’: ‘v.1.4.2’로 시작하는 태그들의 리스트를 반환 git tag v1.1: 현재의 HEAD 태그를 v1.1로 저장 git tag v1.2 9fceb02: 커밋 아이디 9fceb02를 v1.2 태그로 지정 ..

DevOps/Git 2024.02.14

[CI/CD] Github Actions을 활용한 CI/CD 구축

오늘은 캡스톤디자인2(AllerCheck) 프로젝트에서 CI/CD를 구축하기 위해 Github Actions를 도입하였는데요. 이 과정에 대해 상세히 포스팅해보려고 합니다.  우선 Github Actions, CI/CD가 무엇인지 간략한 정리와 함께 Github Actions에서 사용하는 개념도 함께 정리해 보도록 하겠습니다. Github Actions소프트웨어 개발 워크플로우를 자동화하는 도구, 이를 통해 빌드, 테스트, 배포 등의 작업을 자동화하고, 프로젝트의 생산성과 효율성을 향상시킬 수 있습니다.워크플로우는 Github 저장소에서 직접 관리되며, 이벤트에 따라 자동으로 실행됩니다. 예를 들어 푸쉬나 풀 리퀘스트와 같은 Github Event에 의해 트리거 되거나, 스케줄에 따라 실행되도록 설정할 ..

DevOps 2023.12.01

[AWS] AWS RDS 설정 및 생성한 DB를 Mysql에서 접속하기

이번 캡스톤디자인 프로젝트에서 개발 환경(dev)의 RDB와 운영 환경(prod)의 RDB를 분리하기 위해 RDS를 도입했습니다. RDS가 무엇인지 간단하게 설명드리겠습니다. AWS RDS (Relational Database Service) 아마존 관계형 데이터베이스 서비스(Amazon Relational Database Service) 또는 아마존 RDS(Amazon RDS)는 아마존 웹 서비스(AWS)가 서비스하는 분산 관계형 데이터베이스입니다. 애플리케이션 내에서 관계형 데이터베이스의 설정, 운영, 스케일링을 단순케 하도록 설계된 클라우드 내에서 동작하는 웹 서비스 데이터베이스 소프트웨어를 패치하거나 데이터베이스를 백업하거나 시점 복구를 활성화하는 것과 같은 복잡한 관리 프로세스들은 자동으로 관리..

DevOps/AWS 2023.11.26

[Git] 프로그램 버전 관리와 코드 공유 및 협업을 위한 Git & Github에 대해 알아보자

개발자라면 반드시 Git과 Github에 대해 숙지하고 있어야 합니다. 회사에서 협업을 할 때에도 각자의 Branch(개발 환경)에서 각자의 업무를 담당하게 되는데요, 이제 Git과 Github에 대해 확실하게 숙지하고 가볍게 정리하는 시간을 가져보려고 합니다. Git은 VCS 종류의 프로그램들 중 하나로서 프로그램 버전 관리를 위한 도구입니다. 버전 관리라고 하면 프로젝트의 시간과 차원을 관리하는 것입니다. 시간과 차원에 대한 이슈에 대해 설명드리겠습니다. 시간과 관련된 이슈개발자들이 프로그래밍을 해서 소프트웨어를 만들 때 첫 결과물로 마무리되지 않습니다. 새 기능을 넣고 오류를 수정하고 성능을 개선하면서 계속해서 새로운 버전이 나오게 됩니다.그런데, 이러한 것들을 진행하다 보면 했던 작업을 취소해야 ..

DevOps/Git 2023.10.22

[Nginx] Nginx에 대해서

nginx? 가벼움과 높은 성능을 목표로 하는 웹 서버 소프트웨어 이벤트 중심 아키텍처로 10000개 이상의 동시 연결을 처리할 수 있기 때문에, 백엔드 서버에 부하를 분산시키는 Reverse Proxy로도 사용되는 동시에 대부분에 사이트에서 더 나은 성능을 위해 보안 및 캐싱 제공 정적 데이터를 제공(html, image ..) Nginx의 주요 기능 : Proxy Server Proxy Server란? 대신 처리하는 서버 클라이언트와 서버 간의 중계 서버로 통신을 대리 수행하는 서버 캐시/보안/트래픽 분산 등 여러 장점을 가질 수 있습니다 일반적으로 말하는 Proxy라 하면, Forward Proxy를 의미합니다.(nginx는 Reverse Proxy Server의 역할 담당) 이 둘은 비슷한 기능을..

DevOps/Nginx 2023.09.26

[Docker] Dockerfile을 이용해 SpringApplication 빌드 및 실행

Dockerfile을 이용해서 image를 생성하고, SpringWebApplication을 실행해보려고 합니다. dependency는 Spring Web만 추가하면 끝입니다. 우선 여기서 build를 진행해 줘야 jar파일이 생깁니다. 이후 cd build/libs로 이동하면, 다음과 같이 jar파일이 있음을 확인하실 수 있습니다. 추가적으로 도커로 실행하기 위해 openjdk 11 images을 다운로드 받아야 합니다. (docker pull openjdk:11-jre-slim) .jar파일이 있는 곳에 Dockerfile을 작성해야 합니다. FROM : [images name]:[tag name] ARG: build 시점에만 사용되는 변수 COPY: JAR_FILE의 변수를 app.jar로 복사 E..

DevOps/Docker 2023.09.14

[Docker] Docker-Compose를 사용하여 Springboot와 ELK stack 연동

ELK에 대해 간단하게 설명드리고 springboot와 elk stack을 연동해서 springboot 애플리케이션의 log를 수집하고, 검색 및 시각화하는 과정에 대해서 보여드리겠습니다. ELK Stack Logstash 다양한 소스(DB)의 로그 또는 트랜잭션 데이터를 수집, 집계, 파싱하여 ES에게 전달 ElasticSearch Logstash로부터 받은 데이터를 검색 및 집계하여 필요한 관심 있는 정보 획득 Kibana Elasticsearch의 빠른 검색을 통해 데이터를 시각화 및 모니터링 우선 elk stack을 연동하기 위해 elk 관련 image를 다운로드 받아야 합니다. (호환성을 위해 elk 버전 일치 시켰습니다) docker pull elasticsearch:8.3.3 docker p..

DevOps/Docker 2023.09.04