Skip to content

v1.0.11

v1.0.11 #8

Workflow file for this run

name: "Express App Deploy"
on:
release:
types:
- published
paths:
- 'app/**'
- 'app/package.json'
- '.github/workflows/app.yml'
jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: production
url: ${{ vars.DEPOLY_URL }}
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
HOST: ${{ secrets.HOST }}
SSH_DP_USER: ${{ secrets.SSH_DP_USER }}
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
id: docker_buildx
uses: docker/setup-buildx-action@v3
- name: Docker Build browser-app
run: |
echo ${{ secrets.DOCKER_LOGIN }} | docker login -u ${{ github.actor }} --password-stdin
docker buildx create --use
docker buildx inspect --bootstrap
VERSION=$(node -p "require('./app/package.json').version")
APP=$(node -p "require('./app/package.json').name")
echo "Build: ${APP}.${VERSION}"
docker buildx build \
--push \
--platform linux/amd64,linux/arm64/v8 \
--build-arg VERSION=$VERSION \
-t ${{ github.actor }}/playwright-${APP}:$VERSION \
-t ${{ github.actor }}/playwright-${APP}:latest \
-f ./app/Dockerfile \
./app
echo "${{ github.actor }}/${APP}:${VERSION}"
echo "${{ github.actor }}/${APP}:latest"
- name: Configure SSH FOR self_host
run: |
mkdir -p ~/.ssh/
echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan github.com >> ~/.ssh/known_hosts
eval "$(ssh-agent)"
ssh-add ~/.ssh/id_rsa
cat >>~/.ssh/config <<END
Host self_host
HostName $HOST
User $SSH_DP_USER
IdentityFile ~/.ssh/id_rsa
StrictHostKeyChecking no
END
- name: Docker Pull && Restart App
run: |
ssh self_host 'cd /home/deploy/app/headless-browser-clusters && sh update_and_restart.sh'