지금 인스턴스 하나로 모두 해결해야합니다..
인스턴스에 Docker설치후 Docker안에 Jenkins를 설치했습니다..
Jenkins는 Gitlab-MastrBranch에 Push될때 Webhook을 이용해서 job(특정활동?) 을 실행시킬려고합니다..
그래서 젠킨스파일 (project안에서 root쪽에 배치)을 설정했습니다..
그런데 제 젠킨스파일 로직은 [체크아웃->백/프론트에 있는 도커이미지를 각각 이미지 생성해서 hub에올립니다..
deploy단계에서 docker-compose -f ${DOCKER_COMPOSE_FILE} pull 명령은 docker-compose.yml 의 백,프론트실행으로 돌아갑니다.. 뭐 마지막에 up -d 해서 실행하는거구요
환경변수는 Environment variables에서 직접 적은뒤 GOOGLE_CLIENT_ID = "${env.GOOGLE_CLIENT_ID}" 이런식으로 미리미리 다 긁어서 작성했습니다..
이런식으로 자동배포가 맞는걸까요..? Nginx는 어찌 써야할지 고민중..
///3일차
오늘은 젠킨스파일 만들고, nginx쪽도 좀 건드려봐야겠다
프론트정적은 무조건 nginx포트로 받아서 리버스프록시하던데
- dc official App
상특) npx http-server -p 80
.. - dc App
고민포인트가 뭐임? 토이프로젝트 수준이면 그냥 그렇게 하면 됨. 프로덕션 환경을 물어보는거면 껐다키면 절대안됨. 프론트서버는 왜 쓰고 nginx는 또 왜 쓰는지 모르겠음. 프론트 + 정적파일은 전부 s3+cloudfront cdn으로 서빙하면 nginx는 proxy pass만 하면되는데
그리고 굳이 도커안써도됨 자바면 bootJar로 나오는 jar scp로 옮기는게 더쉬움. 글고 서버 이미지는 private hub 예를 들면 gcp artifact repostiory에 올려야됨
처음하는데 이게 맞나? 라는 어두운 동굴을 걷는느낌이라 - dc App
필요한 부분만 하셈. 지금 너무 다하려다 보니깐 깜깜한느낌인거같은데
그렇구나..그냥 자동화까지 배포한번에 다 해볼려고 - dc App