Skip to content
name: Deploy to AWS Elastic Beanstalk Dev
on:
push:
branches:
- dev
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.11
- name: Install AWS CLI
run: pip install awsebcli
- name: Configure AWS Credentials
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: ${{ secrets.AWS_REGION }}
- name: Copy Elastic Beanstalk Config
run: |
mkdir -p .elasticbeanstalk
echo "${{ secrets.EB_CONFIG }}" > .elasticbeanstalk/config.yml
- name: Generate Deployment Package
run: |
mkdir -p deploy
zip -r deploy/deploy.zip . -x .git/\* .github/\* .elasticbeanstalk/\* deploy/\* .gitignore .dockerignore docker-compose.yaml
- name: Get current time
id: current-time
run: echo "::set-output name=formattedTime::$(date +'%Y-%m-%d-%H-%M-%S')"
- name: Beanstalk Deploy
uses: einaregilsson/beanstalk-deploy@v20
with:
aws_access_key: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_secret_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
application_name: duofinder
environment_name: ${{ secrets.ENVIRONMENT_NAME }}
version_label: github-action-${{steps.current-time.outputs.formattedTime}}
region: ap-northeast-2
deployment_package: deploy/deploy.zip