Skip to content

destroying

destroying #114

Workflow file for this run

name: Deployment using Elastic Beanstalk
on:
workflow_dispatch:
push:
branches: [ "stage" ]
pull_request:
branches: [ "main" ]
env:
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# AWS_SESSION_TOKEN: ${{ secrets.AWS_SESSION_TOKEN }}
AWS_REGION: us-east-1
app_bucket_name: ebs-ue1-eb-d-s3
s3Key: app.zip
applicationName: ebs-ue1-eb-d-eb-app
environmentName: ebs-ue1-eb-d-eb-env
terraformDir: ./terraform
appDir: ./node-application
jobs:
terraform_infrastructure:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Configure aws credentials
uses: aws-action/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
aws-region: ${{ env.AWS_REGION }}
- name: Echo Hello World
run: aws sts get-caller-identity
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_wrapper: false
- name: Terraform Version
run: echo "Terraform version=$(terraform --version)"
- name: Terraform Init
run: terraform init
working-directory: ${{ env.terraformDir }}
- name: Terraform Plan
# run: terraform plan -var "iam_instance_profile=your-iam-instance-profile"
run: terraform plan --var-file=prod.tfvars -lock=false
working-directory: ${{ env.terraformDir }}
# - name: Terraform apply
# run: terraform apply -auto-approve -var-file=prod.tfvars -lock=false
# working-directory: ${{ env.terraformDir }}
- name: Terraform Destroy
run: terraform destroy -auto-approve -var-file=prod.tfvars -lock=false
working-directory: ${{ env.terraformDir }}
# build-and-test:
# runs-on: ubuntu-latest
# needs: terraform_infrastructure
# steps:
# - name: Checkout code
# uses: actions/checkout@v3
# - name: Configure aws credentials
# uses: aws-action/configure-aws-credentials@v1
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
# aws-region: ${{ env.AWS_REGION }}
# - name: List files
# run: ls -la
# - name: Set up Node.js
# uses: actions/setup-node@v3
# with:
# node-version: '18'
# # - name: npm version
# # run: npm --version
# # - name: Install dependencies
# # run: sudo npm install
# # working-directory: ./node-application
# # - name: Build the application
# # run: sudo npm run build
# # working-directory: ./node-application
# - name: List files before zip
# run: ls -la ${{ env.appDir }}
# - name: Zip application
# run: |
# cd ${{ env.appDir }}
# zip -r ../app.zip .
# - name: List files after zip
# run: ls -la
# - name: Upload to S3
# run: aws s3 cp app.zip s3://${{env.app_bucket_name}}/app.zip --region us-east-1
# working-directory: .
# deploy:
# runs-on: ubuntu-latest
# needs: build-and-test
# steps:
# - name: Checkout code
# uses: actions/checkout@v3
# - name: Configure aws credentials
# uses: aws-action/configure-aws-credentials@v1
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# aws-session-token: ${{ secrets.AWS_SESSION_TOKEN }}
# aws-region: ${{ env.AWS_REGION }}
# - name: Deploy to Elastic Beanstalk
# run: |
# VERSION_LABEL=$(date +%Y%m%d%H%M%S)
# aws elasticbeanstalk create-application-version \
# --application-name ${{env.applicationName}} \
# --region us-east-1 \
# --version-label $VERSION_LABEL \
# --source-bundle S3Bucket=${{env.app_bucket_name}},S3Key=app.zip \
# --debug
# aws elasticbeanstalk update-environment \
# --application-name ${{env.applicationName}} \
# --environment-name ${{env.environmentName}} \
# --version-label $VERSION_LABEL \
# --debug
# - name: Notify success
# if: success()
# run: echo "Deployment successful!!"