[일지] 2026.03.18

김재만·2026년 3월 18일

작업한 것

  • 회사 온보딩(개발 환경 가이드 및 컨벤션 관련)

    • CI 테스트

      name: CI
      
      on:
        pull_request:
      
      jobs:
        package-test:
          runs-on: ubuntu-latest
      
          steps:
            - uses: actions/checkout@v4
      
            - name: Install uv
              run: pip install uv
      
            - name: Install dependencies
              run: uv sync
      
            - name: Build package
              run: uv build
      • uv sync 에러

        → 경로 추가

        - name: Install dependencies
          run: uv sync
          working-directory: my-service
      • build에러

        → 경로 추가

        - name: Build package
          run: uv build
          working-directory: my-service
    • Dockerfile 작성

      // Dockerfile
      
      FROM python:3.14-rc-slim
      
      WORKDIR /app
      
      COPY dist/*.whl .
      
      RUN pip install *.whl
      
      CMD ["my-service"]
      • 실행
        docker run -p 8000:8000 my-service
        INFO:     Started server process [1]
        INFO:     Waiting for application startup.
        INFO:     Application startup complete.
        INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
        INFO:     192.168.65.1:62630 - "GET / HTTP/1.1" 200 OK
        INFO:     192.168.65.1:62630 - "GET /favicon.ico HTTP/1.1" 404 Not Found
    • 로깅

      • Grafana 연동
        https://jaemankim.grafana.net/a/grafana-setupguide-app/getting-started/quickstarts/os/select

        • Alloy config 업데이트
          nano /opt/homebrew/etc/alloy/config.alloy
          ```
          local.file_match "app_logs" {
            path_targets = [
              {
                __path__ = "/Users/jaemankim/project/app.log",
                service  = "my-service",
              },
            ]
          }
          
          loki.source.file "app_logs" {
            targets    = local.file_match.app_logs.targets
            forward_to = [loki.write.grafana_cloud.receiver]
          }
          
          loki.write "grafana_cloud" {
            endpoint {
              url = "https://<YOUR-LOKI-ENDPOINT>/loki/api/v1/push"
          
              basic_auth {
                username = "<YOUR-USER-ID>"
                password = "<YOUR-API-KEY>"
              }
            }
          ```
          
          ![](https://velog.velcdn.com/images/mannmae/post/0649316e-9a90-47ef-9add-70c1f94c1589/image.png)

배운 것

  • 스쿼시 머지..!

이슈

  • pull 되지 않은 브랜치에서 CI 설정 에러
    • 에러 발생 확인
    ![](https://velog.velcdn.com/images/mannmae/post/bb6187ee-5198-40bc-9eb5-e8111a86dabe/image.png)

    
- 경로 추가
    
    ![](https://velog.velcdn.com/images/mannmae/post/18936709-162c-4e23-84e1-83a917f1882b/image.png)

    
  • 그라파나 설정하기
    • 어떻게 보내긴 했는데 뭐뭐 설정했는지 불분명…ㅋㅋㅋㅋ

다음 작업

  • Metrics
  • Tracing
  • CD

마무리

왜 이제야 깨달았을까, 누가 만들어준 환경에서 개발하는건 참 편했던 거란걸..

profile
듣는 것을 좋아하는 개발자입니다

0개의 댓글