All checks were successful
Build and Deploy Hugo to AWS Amplify / build-and-deploy (push) Successful in 56s
51 lines
1.4 KiB
YAML
51 lines
1.4 KiB
YAML
name: Build and Deploy Hugo to AWS Amplify
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup Hugo
|
|
uses: peaceiris/actions-hugo@v2
|
|
with:
|
|
hugo-version: 'latest'
|
|
|
|
- name: Build Hugo site
|
|
run: hugo build --minify
|
|
|
|
- name: Create deployment zip
|
|
run: |
|
|
cd public
|
|
zip -r ../deployment.zip .
|
|
cd ..
|
|
|
|
- name: Install AWS CLI
|
|
run: |
|
|
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
|
|
unzip awscliv2.zip
|
|
sudo ./aws/install
|
|
|
|
- name: Configure AWS credentials
|
|
uses: aws-actions/configure-aws-credentials@v4
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
aws-region: eu-central-1
|
|
|
|
- name: Upload zip to S3 and deploy to Amplify
|
|
run: |
|
|
ZIP_NAME="deployment-$(git rev-parse --short HEAD)-$(date +%s).zip"
|
|
aws s3 cp deployment.zip s3://${{ secrets.S3_BUCKET_NAME }}/$ZIP_NAME
|
|
aws amplify start-deployment \
|
|
--app-id dkm4p8nhpq96d \
|
|
--branch-name prod \
|
|
--source-url s3://${{ secrets.S3_BUCKET_NAME }}/$ZIP_NAME
|
|
|