본문 바로가기

생각

대략 2일을 낭비한 삽질의 내용

은 이렇다.


프로젝트 내부의 IP로 호출하는 부분을 

-> 도메인으로 바꾼다. 

-> 사내 신규도메인 생성을 최소화 하기위해서 nginx 설정으로 프록시를 해준다. 



팀이 바뀌면서 더이상 내가 개발을 하지는 않지만, 배포는 아직 내가 해야하는 상황이었다... 그래서 프로젝트의 세부 설정은 내가 개발하던 때랑 좀 달라져서... 앞으로 내가 개발할것두 아닌데 막 이것저것 바꾸기도 그렇고. 배포하자니 설정을 아예 모를래야 모를수없는 그런 문제가 있었다.



 일단 처음에는 



export const nlpApiUrl = process.env.NODE_ENV === 'production' ? 'a' : 'b'
export const imarketApiUrl = process.env.NODE_ENV === 'production' ? 'a' : 'b'
export const graphqlApiUrl =process.env.NODE_ENV === 'production' ? 'a' : 'b'
export const fileApiUrl = process.env.NODE_ENV === 'production' ? 'a' : 'b'

* a 와 b는 url의 약칭


내가 원하는건 a를 리턴하는 것 



첨엔 이게 실행이 잘 될거라구 생각해서 푸시했었다.



근데 안되는 거임. -> 아 NODE_ENV 가 production 값을 안들고 있나보다. 하고 도커 파일에 타임존과 같이 나란히 


ENV TZ=Asia/Seoul
ENV NODE_ENV=production



이걸 추가해줬다. 근데 이러고 나니까 갑자기 되던 빌드가 안되었다. tailwind.js ? 이것이 문제였다. 그게 뭔지도 모름.





그래서... 웃기지만 NODE_ENV 를 yarn install 다음 부분에 추가하니까 빌드가 되었다. ;;; <- 여전히 이건 왜 때문인지 모름.




그래도~~~~~~~~~~  안되길래 직접 docker-compose.yml 도 수정해서 거기다 직접 env 를 주기도 해봤고 docker-compose up할때도 값을 주고 해봤다. "NODE_ENV=production docker-compose up" 머 이렇게 



그러구선 도커 콘솔에 직접 붙어봤더니 

 


뭐여 'production' 으로 추가가 잘 되었는데 ㅠㅠㅠ 삼항연산자에서는 a 를 리턴하는게 아니라 계속 b만 리턴하는것이었다 !!!!!!!!!!!!!!!! ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ




그래서 어쩔 수 없이 일단 해결을 위해서 


"production-start": "yarn run build-css-helpers && cross-env NODE_PATH=src REACT_APP_NODE_ENV=production PORT=3000 react-scripts start",
"production-build": "yarn run build-css-helpers && cross-env NODE_PATH=src REACT_APP_NODE_ENV=production react-scripts build",



NODE_ENV 가 아니라 REACT_APP_NODE_ENV로 값을 주고 3항연산자에서도 


export const fileApiUrl = process.env.REACT_APP_NODE_ENV === 'production' ? 'a' : 'b'


그냥 이렇게 비교하니까 잘 되었는데..



이렇게 해결하면 다는 아닌거같음 ㅜ 훔 





https://medium.com/@tacomanator/environments-with-create-react-app-7b645312c09d 

https://facebook.github.io/create-react-app/docs/adding-custom-environment-variables

https://stackoverflow.com/questions/42458434/how-to-set-build-env-variables-when-running-create-react-app-build-script

https://stackoverflow.com/questions/48378337/create-react-app-not-picking-up-env-files


이거보면 create-react-app 으로 프로젝트 만들시 react-scripts 쪽에서 env 를 어떻게 받아오느냐의 문제인것같은데,,, 좀더 공부해봐야겠고 일단은 급한대로 배포를 해두었다... 뭐랄까 결국 그냥 삽질인데 하도 내가 뭐땜에 시간 뺏엇는지 나중에 기억이 안나길래 써본 포스트