회사 온보딩(개발 환경 가이드 및 컨벤션 관련)
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



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>"
}
}
```



- 경로 추가

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