ECR Docker 이미지 Push 오류: M1 아키텍처와 exec format 문제
·
DevOps
M1에서는 ECR에 AWS의 푸시명령어를 입력하면 오류가 발생한다. 이 글을 작성하게 된 이유는 Local환경에서 이미지를 빌드해서 ECR로 넣은 다음 ECS에서 배포를 했는데 계속해서 오류가 발생했다. 이에 해결방법을 찾은 것을 기록한다. 제목에 대해 바로 확인하고 싶은 분들은 목차 1은 건너뛰면 된다. 1. 이미지 배포 오류 발생 1-1. AWS에서 ECS에 서비스 생성을 완료해서 배포를 했다. 1-2. ECS로 배포하던 도중 계속해서 배포가 실패했다. 2. AWS CloudWatch에서 에러로그 확인 2-1. 계속 배포도중 발생하는 오류가 뭔지 확인하기 위해 CloudWatch로 이동했다. 2-2. 오류로그 확인 아래와 같은 오류였다. exec /usr/bin/java: exec format err..
Pipeline 방식으로 Jenkins구축 - SpringBoot CI/CD 구축
·
DevOps
Pipeline 방식으로 젠킨스를 구축해 보자 이번 포스트에서는 설정과 사용 방법이 좀 더 복잡하지만 커스텀하기 좋고 세밀한 구성이 가능한 Pipeline 방식으로 Jenkins의 CI/CD를 모두 구현해보도록 한다. 이번에 적용시킬 CI/CD는 SpringBoot이다. 1. Jenkins CI(지속적 통합)를 위한 Script 추가 작성하기 1-1. 우선 Jenkins 대시보드 좌측 상단의 “새로운 Item” 버튼을 클릭해서 들어간다. 1-2. 아래와 같은 창이 나올것이고 여기서 Item의 이름을 적고 하단에서는 Pipiline을 선택한다. 1-3. Pipeline 작성하기 아이템을 생성하면 아래와 같이 생성한 파이프라인의 설정 페이지로 넘어갈 것이다. 위의 설정들은 skip하고 아래로 스크롤을 내려서..
Jenkins로 시작하는 CI: Freestyle 프로젝트 구축 가이드
·
DevOps
이번 포스트에서는 Jenkins에서 Freestyle방식을 사용해서 Item을 구축하는 방법에 대해서 설명한다. 요즘은 Pipeline을 많이 사용하지만 Freestyle도 나름 간단하게 적용시켜서 사용하기에는 나쁘지 않은 것 같다. 1. Jenkins의 Item에 대한 이해 1-1. Item이란? Jenkins에서 "Item" 또는 "Job"은 자동화 작업의 기본 단위다. 개발자가 젠킨스를 통해 CI/CD 프로젝트를 구축하려면 아이템(Item)을 생성하여야 한다. Item은 특정한 작업을 수행하기 위한 설정과 함께 저장되는 것으로, 예를 들어 소스 코드의 빌드, 테스트 실행, 배포 등을 수행할 수 있다. Jenkins는 다양한 종류의 Job을 제공하며, 가장 일반적으로 사용되는 것은 "Freestyle..
AWS EC2에서 Docker와 Jenkins로 CI/CD 환경 구축하기
·
DevOps
이번에는 EC2에서 Docker를 띄운 후 Jenkins를 구축해 보자 1. EC2 인스턴스에 SSH 접속 AWS 콘솔에서 EC2 인스턴스의 IP 주소를 확인한 후, 터미널을 열고 SSH로 접속한다. 아래의 방법을 통해 Termius로 접속할수도 있다. 2023.10.25 - [AWS] - AWS - EC2 생성과 Termius 접속방법 AWS - EC2 생성과 Termius 접속방법 코딩은 글쓰기라고 생각한다. 꾸준히 기록하며 내 개발 실력을 키울것이다. curiousjinan.tistory.com 2. 패키지 업데이트와 Docker 설치 2-1. 먼저 패키지 업데이트를 진행한다. sudo apt-get update 2-2. Docker 설치에 필요한 패키지 설치 sudo apt-get install ..
Matomo 대시보드 및 API 활용: 데이터 추출 방법 (6편)
·
DevOps/웹분석tool (GA, Matomo)
이번 포스트에서는 Matomo 대시보드 확인방법 및 Matomo에서 자체 제공하는 URL(API)를 호출해서 사용하는 방법에 대해서 설명한다. 1. 대시보드 정보 기본적으로 설정을 완료하고 트래픽 추적이 된다면 아래와 같은 정보를 보여주게 된다. 실시간 방문자에 대한 정보 개요 그래프 3분 이내의 실시간 방문자 최근 방문 그래프 페이지 url별 페이지뷰 정보 2. 메뉴 정보 (자주 사용하게될 메뉴) 좌측의 Behaviour 메뉴로 가면 페이지에 대한 굉장히 많은 추적정보들이 존재한다. 모두 확인 가능하고 API로 추출할 수 있다. 방문 메뉴에도 실시간 방문자에 대한 많은 지표들을 제공한다. 3. 설정 3-1. 마토모의 설정에 들어가면 가장 먼저 다음과 같은 창을 볼 수가 있다. Quick Links : ..
Matomo 추적 스크립트 설정: 웹사이트에 적용 및 테스트하기 (5편)
·
DevOps/웹분석tool (GA, Matomo)
이번 포스트에서는 마토모 추적 스크립트를 프로젝트 내부에 심고 동작시켜 보자 1. 스크립트 심기 저번 포스트에 이어서 왔다면 아래 사진과 같은 상태에서 멈춰있을 것이다. 이제 하단의 스크립트를 내 프로젝트 코드에 심어주자 1-1. 스크립트 만들기 내 프로젝트로 들어와서 matomo 추적 스크립트만 작성한 전용 js 파일을 하나 만들었다. 1-2. 작성한 스크립트 연결하기 html 코드에 matomo.js 추적 스크립트를 연결한다. 여기서 가장 좋은 방법은 모든 페이지에 쓰이는 header 전용 html이 있다면(header.html) 그 html안에 matomo.js를 연결시켜 주면 이 header를 가져다 include(jsp) 또는 fragment(thymeleaf) 방식으로 적용시키는 다른 모든 ..
Matomo 웹 분석 설정: SSL 로그인 오류 해결 (4편)
·
DevOps/웹분석tool (GA, Matomo)
이번 포스트에서는 저번에 force_ssl을 시도했지만 해결되지 않은 로그인 문제를 해결해 보자 1. 기존 에러로 roll-back 되었다... 2. 근본으로 돌아가 로그를 확인해 보자 (가장 먼저 했어야 했다....) 2-1. 명령어를 통해 matomo 도커 이미지의 로그를 확인하자 sudo docker logs 0105cfd2baf2 2-2. 로그내용 분석 로그를 살펴보면 POST /?module=Login HTTP/1.0 요청에 대한 응답 상태 코드가 403인 것을 볼 수 있다. 이는 서버가 요청을 이해했지만 그 요청을 수행할 권한이 없음을 나타낸다. 이러한 상황은 주로 인증과 관련된 문제나 특정 IP 또는 유저 에이전트가 차단되었을 때 발생한다. Apache 설정 확인: (건드린 적이 없다. 초기..
Matomo 웹 분석 설정: SSL 로그인 오류 진단하기 (3편)
·
DevOps/웹분석tool (GA, Matomo)
이번 포스트는 저번에 이어서 로그인에서 ssl인증 에러가 난 것을 해결해 보자 1. 로그인 에러 원인파악하기 아래와 같은 에러가 발생했는데 이를 GPT한테 물어봤다. 이 에러 메시지는 Matomo가 요청의 "origin"이나 "referrer"를 확인하는 과정에서 무언가 일치하지 않았음을 나타낸다. 여기에는 여러 가지 원인이 있을 수 있다. HTTP와 HTTPS 혼용: 만약 Matomo 설정이 HTTPS를 사용하도록 설정되어 있지만, HTTP로 접근하려고 하면 이런 문제가 발생할 수 있다. 반대의 경우도 마찬가지다. (이게 가장 확률이 높다.) Proxy 설정 문제: Nginx나 다른 리버스 프록시를 사용하고 있다면, 실제 클라이언트의 IP나 프로토콜 정보가 제대로 전달되지 않을 수 있다. Browser..