32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
on: [push, pull_request, workflow_dispatch]
|
|
|
|
name: CI
|
|
jobs:
|
|
deploy:
|
|
name: CI
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
GIT_SERVER: devops.lty.name
|
|
DEPLOY_SERVER: copy.lty.name
|
|
DEPLOY_SERVER_KEY: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBKn1tARbrf+klrF31iN1Q0otmL1AvDDI87kC7HLo5ix
|
|
DEPLOY_TARGET: homepage
|
|
steps:
|
|
- name: build
|
|
run: |
|
|
git clone https://${{ github.token }}@${{ env.GIT_SERVER }}/${{ github.repository }} $(pwd)
|
|
git lfs install
|
|
git lfs pull
|
|
pip install --break-system-package pdm==2.20.1
|
|
pdm install
|
|
pdm start
|
|
- name: deploy
|
|
if: github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch'
|
|
run: |
|
|
mkdir -p "${HOME}/.ssh"
|
|
echo "${DEPLOY_SSH_KEY}" | base64 -d > "${HOME}/.ssh/id_ed25519"
|
|
chmod 600 "${HOME}/.ssh/id_ed25519"
|
|
echo "${DEPLOY_SERVER} ${DEPLOY_SERVER_KEY}" > "${HOME}/.ssh/known_hosts"
|
|
rsync -avz --delete ./dist/ "${DEPLOY_TARGET}:~/${DEPLOY_TARGET}/"
|
|
env:
|
|
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
|