Add self-hosted runner #64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ "atleta" ] | |
jobs: | |
build: | |
environment: main | |
runs-on: self-hosted | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Create Image Tarball for explorer-frontend | |
run: | | |
mkdir -p artifacts | |
docker build --build-arg GIT_COMMIT_SHA=$(git rev-parse --short HEAD) --build-arg GIT_TAG=$(git describe --tags --abbrev=0) --tag explorer-frontend . | |
docker save --output artifacts/explorer-frontend.tar explorer-frontend | |
- name: Create Image Tarball for nginx | |
run: | | |
docker build --tag nginx-explorer docker/nginx | |
docker save --output artifacts/nginx-explorer.tar nginx-explorer | |
- name: Set up SSH | |
run: | | |
mkdir -p ~/.ssh/ | |
touch ~/.ssh/known_hosts | |
ssh-keyscan ${{ secrets.EXPLORER_HOST }} >> ~/.ssh/known_hosts | |
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa | |
chmod 600 ~/.ssh/id_rsa | |
eval $(ssh-agent) | |
- name: Copy Files to Server | |
run: | | |
scp -r artifacts/* ${{ secrets.HOST_USER}}@${{ secrets.EXPLORER_HOST }}:/blockscout | |
scp -r deploy/* ${{ secrets.HOST_USER}}@${{ secrets.EXPLORER_HOST }}:/blockscout | |
- name: SSH into Server and Deploy | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.EXPLORER_HOST }} | |
username: ${{ secrets.HOST_USER }} | |
key: ${{ secrets.SSH_PRIVATE_KEY }} | |
script: | | |
cd /blockscout | |
docker load --input explorer-frontend.tar | |
docker load --input nginx-explorer.tar | |
docker compose down | |
docker compose pull | |
docker compose up --detach --build --remove-orphans |