Files
iptv-manager-service/.gitea/workflows/aws_deploy_on_push.yml
2025-05-15 10:32:22 -05:00

51 lines
1.9 KiB
YAML

name: AWS Deploy on Push
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event."
- run: echo "This job is now running on a ${{ runner.os }} server hosted by git.fiorinis.com!"
- run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- run: echo "The ${{ gitea.repository }} repository has been cloned to the runner."
- uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: "22.15"
- name: Install Python dependencies and CDK
run: |
python -m pip install --upgrade pip
pip install aws-cdk-lib constructs
npm install -g aws-cdk
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@master
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }}
aws-region: "us-east-2"
- name: Deploy to AWS
run: cdk deploy --app="python3 ${PWD}/app.py" --require-approval=never
- name: Update application on instance
run: |
INSTANCE_ID=$(aws ec2 describe-instances --filters "Name=tag:Name,Values=IptvUpdater/IptvUpdaterInstance" --query "Reservations[*].Instances[*].InstanceId" --output text)
aws ssm send-command \
--instance-ids "$INSTANCE_ID" \
--document-name "AWS-RunShellScript" \
--parameters 'commands=["cd /home/ec2-user/iptv-updater-aws && git pull && pip3 install -r requirements.txt && systemctl restart iptv-updater"]'
- run: echo "This job's status is ${{ job.status }}."