React 배포 환경도 docker 안에 있는 게 아니라면, 굳이 docker는 사용하지 않아도 될 것 같습니다. 서버 인스턴스 내부에다가 react 빌드 파일을 업로드하는 거라면, Shell script로 배포를 자동화하는게 더 좋아보여요! Github actions를 안 써 봐서 모르겠지만, 제가 생각하는 절차는 다음과 같습니다.
1. 서버 ssh key를 CI/CD 툴이 사용할 수 있도록 등록 (Jenkins, Github action 등)
2. 특정 브랜치에 commit이 push 되었을 때를 감지해서 react build (Jenkins & Github webhook, Github action의 workflow..?)
3. 명령어 입력.
3-1. yarn build
3-2. build가 끝나고 나면 scp나 sftp 명령어로 nginx가 호스팅하는 react의 파일 경로에다가 빌드 결과물 복사
3-3. build 결과물 삭제
Github 사용하신다면 development 같이 특정 브랜치에 push event가 발생한거 감지할 수 있으니까, 이런식으로 하면 좋을 것 같아요!