feat(ci): set up preview and prod deployments
This commit is contained in:
committed by
Tobias Fried
parent
b99c50d61f
commit
625dc776d5
49
.github/workflows/dreamhost-preview-static.yaml
vendored
Normal file
49
.github/workflows/dreamhost-preview-static.yaml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
name: Build and deploy to preview
|
||||
|
||||
on:
|
||||
push
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
run_install: false
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Install sshpass
|
||||
run: sudo apt-get install -y sshpass
|
||||
|
||||
- name: Add SSH Key to known_hosts
|
||||
env:
|
||||
KNOWN_HOSTS_ENTRY: ${{ secrets.DREAMHOST_KNOWN_HOSTS_ENTRY }}
|
||||
HOST: ${{ secrets.HOST }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "$KNOWN_HOSTS_ENTRY" >> ~/.ssh/known_hosts
|
||||
chmod 644 ~/.ssh/known_hosts
|
||||
|
||||
- name: Build static site
|
||||
run: pnpm build
|
||||
|
||||
- name: Deploy via rsync and sshpass
|
||||
env:
|
||||
USERNAME: ${{ secrets.DREAMHOST_FTP_USERNAME }}
|
||||
PASSWORD: ${{ secrets.DREAMHOST_FTP_PASSWORD }}
|
||||
HOST: ${{ secrets.DREAMHOST_FTP_HOST }}
|
||||
DEPLOY_PATH: preview.phosphoricons.com
|
||||
run: |
|
||||
sshpass -p "$PASSWORD" rsync -avz --delete ./dist/* $USERNAME@$HOST:$DEPLOY_PATH
|
||||
51
.github/workflows/dreamhost-static.yaml
vendored
Normal file
51
.github/workflows/dreamhost-static.yaml
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
name: Build and deploy to production
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
run_install: false
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Install sshpass
|
||||
run: sudo apt-get install -y sshpass
|
||||
|
||||
- name: Add SSH Key to known_hosts
|
||||
env:
|
||||
KNOWN_HOSTS_ENTRY: ${{ secrets.DREAMHOST_KNOWN_HOSTS_ENTRY }}
|
||||
HOST: ${{ secrets.HOST }}
|
||||
run: |
|
||||
mkdir -p ~/.ssh
|
||||
echo "$KNOWN_HOSTS_ENTRY" >> ~/.ssh/known_hosts
|
||||
chmod 644 ~/.ssh/known_hosts
|
||||
|
||||
- name: Build static site
|
||||
run: pnpm build
|
||||
|
||||
- name: Deploy via rsync and sshpass
|
||||
env:
|
||||
USERNAME: ${{ secrets.DREAMHOST_FTP_USERNAME }}
|
||||
PASSWORD: ${{ secrets.DREAMHOST_FTP_PASSWORD }}
|
||||
HOST: ${{ secrets.DREAMHOST_FTP_HOST }}
|
||||
DEPLOY_PATH: phosphoricons.com
|
||||
run: |
|
||||
sshpass -p "$PASSWORD" rsync -avz --delete ./dist/* $USERNAME@$HOST:$DEPLOY_PATH
|
||||
@@ -20,6 +20,7 @@
|
||||
],
|
||||
"repository": "github:phosphor-icons/homepage",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@9",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "tsc && vite build",
|
||||
|
||||
1961
pnpm-lock.yaml
generated
1961
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user