CICD 에서 환경변수 파일은 중요하다. gpt-5 는 api 엔드포인트도 바뀌었구나
지금 개발하고있는 PDF 관려 AI 서비스에서, 나름 간소한 CICD 파이프라인을 세팅 한다고 해뒀다.
프론트는 vercel에서 cicd가 너무 잘돼있어서 그대로 활용했다.
백엔드 개발을 하며, 홈서버에서
production은 main 브랜치, 개발은 develop 브랜치에서 하며,
develop 브랜치에는 dev 2차 도메인을 줘서 url을 분리했고,
도커로 띄워두고 github actions 를 이용해서 푸시만 하면 바로 다시 빌드해서 실행되도록 해뒀다.
근데 이번에 자꾸 안돼서 애를 먹어서 겨우 겨우 찾은 원인은,
gpt-4o에서 gpt-5를 사용하게 바꾸면서, chat-completion 에서 response 로 권장 엔드포인트가 바뀌었고,
짜잘한 이름 몇개가 바뀌었는데max_tokens가 max_output_tokens 로 이름이 바뀌었고, 가장 큰 차이점은, openai_temperature라는 파라미터가 그냥 삭제된 거 같다. 이거때문에, 서버환경에서는 환경변수 파일에 openai_temperature 가 존재하는데, 그걸 활용을 안하니까 푸시를 해도 백엔드가 시작 즉시 터졌다.
CICD 에서 환경변수는 어케 자동화할지 생각해보자.
아 그리고 여담으로, dev 브랜치랑 Main , 즉 prod 환경에서, 완전히 같은 수파베이스를 사용하고있는데, 보니까 수파베이스도 브랜치 분리할수있는거같은데 그것도 고려합시당.
지금은 dev 만 해줬지만 분명히 나중에 prod 환경의 .env 에서도 openai_temperature를 빼줘야할텐데. 내가 추구하는 cicd는, develop 에서되면, 통합하면 main에서는 무조건 기깔나게 돌아가야하는건데.. 뭔가 내 철학에 위배된다 지금