Skip to content

Merge pull request #257 from hyeeyoung/setting/#252 #62

Merge pull request #257 from hyeeyoung/setting/#252

Merge pull request #257 from hyeeyoung/setting/#252 #62

Workflow file for this run

name: Server Development Server CI&CD Work Flow
on:
push:
branches:
- dev
jobs:
devlop_CICD:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.13.2] # 개발환경과 동일하게 맞춤
steps:
# 브랜치에 checkout해 코드를 가져온다
- name: Checkout source code.
uses: actions/checkout@v2
# node 설치 및 버전 확인한다.
- name: Node.js ${{ matrix.node-version }} install
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Check Npm -v
run: npm -v
# npm ci를 통해 npm install 진행
- name: Npm CI
run: npm ci
#lint 통과 확인
- name: Check ESLint
run: npm run lint
# .env 파일 생성
- name: Create .env file
run: |
touch .env
echo PORT=${{ secrets.PORT }} >> .env
echo DB_DEV_HOST=${{ secrets.DB_DEV_HOST }} >> .env
echo DB_DEV_USER=${{ secrets.DB_DEV_USER }} >> .env
echo DB_DEV_PASSWORD=${{ secrets.DB_DEV_PASSWORD }} >> .env
echo DB_DEV_NAME=${{ secrets.DB_DEV_NAME }} >> .env
echo DB_PORT=${{ secrets.DB_PORT }} >> .env
echo REDIS_DEV_HOST=${{ secrets.REDIS_DEV_HOST }} >> .env
echo REDIS_PORT=${{ secrets.REDIS_PORT }} >> .env
echo REDIS_DEV_PASSWORD=${{ secrets.REDIS_DEV_PASSWORD }} >> .env
echo WISHBOARD_GMAIL_ID=${{ secrets.WISHBOARD_GMAIL_ID }} >> .env
echo WISHBOARD_GMAIL_PW=${{ secrets.WISHBOARD_GMAIL_PW }} >> .env
echo JWT_SECRET_KEY=${{ secrets.JWT_SECRET_KEY }} >> .env
echo SLACK_API_TOKEN=${{ secrets.SLACK_API_TOKEN }} >> .env
echo AWS_ACCESS_KEY=${{ secrets.AWS_S3_IMAGE_ACCESS_KEY }} >> .env
echo AWS_SECRET_KEY=${{ secrets.AWS_S3_IMAGE_SECRET_KEY }} >> .env
echo BUCKET_NAME_DEV=${{ secrets.AWS_S3_IMAGE_BUCKET_NAME_DEV }} >> .env
# 빌드하여 S3에 업로드
- name: Run build (dev)
run: |
npm run build --if-present
# S3에 빌드 파일 저장
- name: zip file
run: zip -r wishboard-dev.zip ./dist ./scripts ./appspec.yml
- name: AWS configure credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_DEPLOY_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_DEPLOY_SECRET_ACCESS_KEY }}
aws-region: ap-northeast-2
- name: upload to S3
run: aws s3 cp --region ap-northeast-2 ./wishboard-dev.zip s3://wishboard-dev-build/deploy/
- name: deploy with AWS codeDeploy
run: aws deploy create-deployment
--application-name wishboard-dev-codedeploy1
--deployment-config-name CodeDeployDefault.OneAtATime
--deployment-group-name GROUP
--s3-location bucket=wishboard-dev-build,bundleType=zip,key=deploy/wishboard-dev.zip