Skip to content

Deploy demo

Deploy demo #16

Workflow file for this run

name: Deploy demo
on:
workflow_dispatch:
inputs:
reset_database:
description: 'Reset database ?'
type: boolean
default: false
required: false
jobs:
deploy-demo:
name: Deploy demo
runs-on: ubuntu-latest
if: always()
steps:
- name: Deploy in EC2
env:
BRANCH: ${{ format('origin/{0}', github.ref_name) }}
PRIVATE_KEY: ${{ secrets.AWS_DEPLOY_KEY }}
HOSTNAME : ${{ secrets.AWS_HOSTNAME }}
USER_NAME : ${{ secrets.AWS_USER }}
RESET_DB : ${{ inputs.reset_database }}
run: |
echo "$PRIVATE_KEY" > private_key && chmod 600 private_key
ssh -o StrictHostKeyChecking=no -i private_key ${USER_NAME}@${HOSTNAME} "
cd /home/ubuntu/ &&
[ -d oro ] || git clone https://github.com/Elastic-Suite/oro-demo.git oro &&
cd /home/ubuntu/oro &&
[ -d src/packages/GallyPlugin ] || git clone https://github.com/Elastic-Suite/gally-oro-connector.git src/packages/GallyPlugin &&
docker system prune -af &&
([[ $(docker volume ls -q | awk '!/_/' | wc -l) -eq 0 ]] || docker volume rm $(docker volume ls -q | awk '!/_/' | tr '\n' ' ')) &&
docker compose down &&
git remote -v &&
git fetch --all && git reset --hard && git checkout ${{ env.BRANCH }} &&
cd /home/ubuntu/oro/src/packages/GallyPlugin &&
git remote -v &&
git fetch --all && git reset --hard && git checkout ${{ env.BRANCH }} &&
cd /home/ubuntu/oro &&
docker compose -f compose.yml run --rm install composer install --no-dev &&
docker compose -f compose.yml run --rm install composer config repositories.gally-connector '{ \"type\": \"path\", \"url\": \"./packages/GallyPlugin\", \"options\": { \"versions\": { \"gally/oro-plugin\": \"2.0.0\"}} }' &&
docker compose -f compose.yml run --rm install composer require gally/oro-plugin:2.0.0
echo 'Reset db value: ${RESET_DB}' &&
[ -z ${RESET_DB} ] || docker compose -f compose.yml up install &&
docker compose -f compose.yml up -d --build
"