지난번에는, ci / cd를 하기 위해 docker를 github action에 연결하는 작업을 하였다.
이번에는 aws ec2에 우리 프로젝트의 정보를 담아주어야 한다.
1. EC2 연결을 위해 github action 파일 작성하기
- name: Deploy to server
uses: fifsky/ssh-action@master
id: deploy
with:
command: |
sudo docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }}
sudo docker pull ${{secrets.DOCKER_REPO}}/front
sudo docker-compose -f /home/프로젝트이름/docker-compose.yml up -d
host: ${{secrets.HOST}}
user: ${{secrets.USERNAME}}
key: ${{secrets.KEY}}
이 전의 DOCKERHUB_USERNAME과 DOCKERHUB_PASSWORD를 깃허브에서 불러오고,
DOCKER_REPO 이름을 지정해서 담아주어야 한다. 어려운 거 아니고 그냥 도커 레포지토리 이름을 작성해주는 것이다.
그리고 docker-compose의 경로를 적어주어서 다운로드 받는다.
EC2에 관해서 정보도 입력을 해 주어야 하는데,
HOST -> AWS 안에 있는 Public IP 이다.
AWS 로그인을 한 후, EC2에 들어가서 프로젝트를 들어가면, 퍼블릭 IPv4 주소를 알 수 있다. 이걸 사용하면 된다.
user -> 본인이 사용하는 os 이름을 뜻한다
이것도 AWS 내리다보면 나와있다 ubuntu를 사용했기 때문에 ubuntu가 이름인 것이다.
key -> 이건 개별적으로 만든 pem key이다. 나 같은 경우에는 백엔드 개발자가 ec2를 처음 생성했기 때문에, pem키가 있어서 그걸 받아서 고대로 사용했다.
2. 배포할 때 .env 파일 경로 설정해주기
위 1번의 방식대로 github action을 작성하면, 정상적으로 EC2까지 완료가 되어 ci/cd는 진행이 될 수 있다. 하지만, 문제점이 하나 있었다.
그건 바로 .env 파일을 읽어오지 못한다는 것이었다.
그래서 github action에 .env를 만들어서 env 내용을 github안에 담고 처리를 해주는 방식으로 진행하였다.
- name: make .env
run: |
touch .env
echo "${{ secrets.SECRET_ENV }}" > .env
SECRET_ENV로 env를 담아주었다.
이렇게 하니, env 파일을 읽고 정상적으로 배포가 되는 것을 확인할 수 있었다.
'React' 카테고리의 다른 글
실무에서 사용할 수 있을 것 같은 React 19 주요 기능 정리 (0) | 2025.09.06 |
---|---|
React 18 - code splitting (코드 분할) - useTransition | Suspense | Lazy (0) | 2025.09.02 |
[react] Next.js + Docker + Nginx EC2 를 기준으로 Github Actions로 배포 자동화 CI / CD - 1 (3) | 2024.07.19 |
[react] react-query (1) | 2024.07.15 |
[react] 리액트 컴포넌트 테스트 (0) | 2024.06.19 |