Skip to content

Merge pull request #34 from Team-Frolog/fix/#33 #21

Merge pull request #34 from Team-Frolog/fix/#33

Merge pull request #34 from Team-Frolog/fix/#33 #21

Workflow file for this run

name: Deploy to Dev
on:
workflow_dispatch:
push:
branches:
- dev
jobs:
deploy-dev: # 개발 환경 배포
runs-on: ubuntu-latest
steps:
- name: Get Github Actions IP # 깃허브의 현재 ip가져오기
id: ip
uses: haythem/public-ip@v1.2
- name: Setting environment variables
run: |
echo "AWS_DEFAULT_REGION=ap-northeast-2" >> $GITHUB_ENV
echo "AWS_SG_NAME=general-web-sg" >> $GITHUB_ENV
- name: Configure AWS Credentials # AWS 관련 설정값 등록
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2
- name: Add Github Actions IP to Security group # 보안 그룹에 깃허브 ip 추가
run: |
aws ec2 authorize-security-group-ingress --group-name ${{ env.AWS_SG_NAME }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ap-northeast-2
- name: Deploy to Dev EC2
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.DEV_EC2_HOST }} # Dev EC2의 호스트 주소
username: ${{ secrets.EC2_USER }} # SSH 사용자
key: ${{ secrets.DEV_EC2_KEY }} # SSH 비밀 키
script_stop: true # 연결 실패 시 작업 중지
script: |
cd services/${{ github.event.repository.name }}
git pull origin dev
npm ci --omit=dev
pm2 reload ${{ github.event.repository.name }}
- name: Remove Github Actions IP from security group # 추가했던 ip 삭제
run: |
aws ec2 revoke-security-group-ingress --group-name ${{ env.AWS_SG_NAME }} --protocol tcp --port 22 --cidr ${{ steps.ip.outputs.ipv4 }}/32
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ap-northeast-2