Merge pull request #34 from Team-Frolog/fix/#33 #21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |