공부33 [CI/CD] Gitea + Act_Runner (실패 경험) 와이프가 드럼을 배운다.드럼이 집에는 없다 보니, 기분이라도 내라고 간단하게 만든 장난감 드럼 페이지를 GCP에 올려서 서빙하고 싶었다.GCP에 도메인이 적용되어 있고, Gitea를 프락시하고 있는 Nginx를 이용하면 될 것 같아서 설정을 바꾸고 올리려고 했다.그런데 어차피 Gitea도 설치되어 있으니 CI/CD 구조를 만들어보자는 마음으로 서칭 하며 Gitea의 Actions 기능을 찾아보았다. https://docs.gitea.com/usage/actions/act-runner Act Runner | Gitea DocumentationThis page will introduce the act runner in detail, which is the runner of Gitea Actions.docs... 2025. 6. 13. [GCP] Nginx SSL 자동갱신 GCP 서버에서 실행 중인 Nginx 서버의 인증서를 자동갱신하는 설정을 추가했다. 2025.05.20 - [공부] - [GCP] Gitea + Nginx(SSL) [GCP] Gitea + Nginx(SSL)포트폴리오용 프로젝트를 만들기에 앞서 프로젝트 파일들을 업로드하기 위해 클라우드 서버에 Git (UI) 환경을 구축하고 싶었다. [준비물]GCP 서버(Docker, 인증서) -- 사설 인증서 만들기로 검색하면gooduck.net 1. Certbot 컨테이너 추가: docker-compose.yml 에 Certbot 서비스를 정의한다.version: '3'services: gitea: image: gitea/gitea:latest container_name: gitea environ.. 2025. 6. 13. [REST] API 요청, 응답 클라이언트에게 받은 요청을 수신해서, 검증하고, 작업을 수행하고, 응답하는 일련의 메커니즘을 API라고 한다. 나는 다음의 문서를 참고했다.https://spec.openapis.org/oas/v3.1.0 OpenAPI Specification v3.1.0Each Media Type Object provides schema and examples for the media type identified by its key. It is common to use multipart/form-data as a Content-Type when transferring request bodies to operations. In contrast to 2.0, a schema is REQUIRED to define the .. 2025. 6. 12. [BE] SSE 재연결과 관련된 시간 이것저것 테스트하던 중, 가장 기본적인... 재연결 로직이 정상적으로 동작하지 않는 것을 확인했다. SSE 연결은 클라이언트에서 요청을 보내고 (빨간색 화살표), 서버는 해당 연결을 OS에 반환하지 않고 유지하는 기법이다.서버에서 클라이언트로 메시지를 보내야 할 때, 보관하고 있던 응답으로 클라이언트에 메시지를 전송한다.초록색은 서버에서 complete가 실행되는 순간이다. 서버는 연결 종료를 통보하고, 클라이언트는 재연결을 요청한다.이와 관련된 시간을 설정해줘야 한다. 1. timeoutSseEmitter는 연결이 끊어졌지만 유지되고 있는 좀비 연결을 방지하기 위해 Timeout 시간을 설정할 수 있다.서버는 설정된 시간이 지난 SseEmitter를 처리한다. private SseEmitter.. 2025. 6. 12. [BE] 알림 기능 리팩토링 - 분산 환경 지원을 위한 Redis 추가 단순한 기능만 만들려고 했는데, 자꾸 뭔가가 늘어난다.user1이 server1에서 SSE 연결이 맺어졌다.이 경우 Emitter 객체는 Server1의 인스턴스 내부에서 관리되고 있다.그런데 다중화된 서버에서는 User1의 파일 업로드 요청이 Server2로 전달되는 경우가 있다.지금 내 로직 구조에서는 이 경우 사용자에게 알림을 보낼 방법이 없다. 그래서 두 가지 방법을 생각해 봤다.1. SseEmitter 객체 그 자체, 혹은 내부의 Connection 정보를 DB나 Redis 등에 저장했다가, 메시지가 오면 해당 객체를 복원하거나 꺼내와서 쓸 수는 없는가? 2. Pub/Sub 구조를 이용한 메시지 발행과 수신으로 모든 서버에서 자신이 보관하고 있는 연결 중 해당 사용자가 있으면 응답 전송 1번은 .. 2025. 6. 10. 이전 1 2 3 4 5 6 7 다음