Older/.gitea/workflows/deploy.yaml

113 lines
4.7 KiB
YAML
Raw Normal View History

2024-06-30 18:34:47 +08:00
name: Deploy
run-name: build and deploy app to server.
2024-11-14 00:05:09 +08:00
on:
push:
paths:
- '**.cpp'
- '**.h'
2024-11-20 14:55:56 +08:00
- '**.conf'
2024-06-30 18:34:47 +08:00
jobs:
Build:
runs-on: [ubuntu-latest, ubuntu-24.04]
container:
2024-10-15 23:52:15 +08:00
image: registry.cn-shenzhen.aliyuncs.com/amass_toolset/ubuntu_dev:22.04
2024-11-09 20:23:41 +08:00
credentials:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
2024-06-30 18:34:47 +08:00
steps:
2024-10-15 23:52:15 +08:00
- name: Set up SSH
run: |
mkdir -p ~/.ssh/
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -t ed25519 -p 22022 frp-by1.wwvvww.cn >> ~/.ssh/known_hosts
- name: Clone repository
run: |
2024-11-20 21:10:31 +08:00
echo "git clone --depth 10 --branch=${GITHUB_REF##*/} ssh://git@frp-by1.wwvvww.cn:22022/${{ gitea.repository }}.git"
2024-10-15 23:52:15 +08:00
git clone --depth 1 --branch=${GITHUB_REF##*/} ssh://git@frp-by1.wwvvww.cn:22022/${{ gitea.repository }}.git .
git checkout ${GITHUB_SHA}
2024-06-30 18:34:47 +08:00
- name: Notify-Start
if: ${{ always() }}
run: |
echo "${{ github.repository }} 开始构建..." > notify.tpl
2024-11-01 10:55:43 +08:00
echo "构建地址: https://amass.fun/gitea/${{ github.repository }}/actions/runs/${{ github.run_number }}">> notify.tpl
echo "仓库地址: https://amass.fun/gitea/${{ github.repository }}">> notify.tpl
2024-06-30 18:34:47 +08:00
echo "提交ID: $(git rev-parse --short HEAD)">> notify.tpl
echo -n "提交消息: ${{ github.event.head_commit.message }}">> notify.tpl
cat notify.tpl | envsubst | jq -sR . | xargs -0 -I {} curl -H "Content-Type: application/json" -X POST -d '{"type":"text","msg":{} }' https://amass.fun/notify
2024-11-01 10:48:50 +08:00
- run: resources/build.sh build
2024-11-23 20:58:21 +08:00
- run: resources/build.sh lvgl
2024-11-21 00:03:57 +08:00
- name: Copy app wt resources to server
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ vars.YUYUN_SERVER }}
username: ${{ vars.YUYUN_USER }}
password: ${{ secrets.SERVER_ROOT_PASSWORD }}
overwrite: true
strip_components: 1
source: "resources/*.css,resources/*.xml"
target: /root/Server/resources
2024-11-23 20:58:21 +08:00
- name: Copy lvgl to server
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ vars.YUYUN_SERVER }}
username: ${{ vars.YUYUN_USER }}
password: ${{ secrets.SERVER_ROOT_PASSWORD }}
overwrite: true
strip_components: 2
source: build/LvglApplication/lvglapp*
target: /root/Server/amass_blog
2024-11-09 19:21:15 +08:00
- name: Copy files to server
2024-11-09 20:42:06 +08:00
uses: appleboy/scp-action@v0.1.7
2024-11-09 19:21:15 +08:00
with:
host: ${{ vars.YUYUN_SERVER }}
username: ${{ vars.YUYUN_USER }}
password: ${{ secrets.SERVER_ROOT_PASSWORD }}
2024-11-09 20:42:06 +08:00
overwrite: true
2024-11-09 21:07:06 +08:00
strip_components: 2
2024-11-09 19:21:15 +08:00
source: build/Server/HttpServer
2024-11-09 23:17:12 +08:00
target: /tmp
2024-11-09 19:21:15 +08:00
- name: Restart server
2024-11-09 22:34:40 +08:00
uses: appleboy/ssh-action@v1.1.0
2024-11-09 19:21:15 +08:00
with:
host: ${{ vars.YUYUN_SERVER }}
username: ${{ vars.YUYUN_USER }}
password: ${{ secrets.SERVER_ROOT_PASSWORD }}
script: |
2024-11-10 21:00:27 +08:00
cd /root/Server
source /etc/profile
/root/Server/HttpServer --exit
sleep 1
cp /tmp/HttpServer /root/Server/HttpServer
2024-11-10 21:16:25 +08:00
nohup /root/Server/HttpServer > /dev/null 2>&1 &
2024-11-10 21:00:27 +08:00
exit 0
2024-11-20 14:55:56 +08:00
- name: Copy openresty configuration files to server
uses: appleboy/scp-action@v0.1.7
with:
host: ${{ vars.YUYUN_SERVER }}
username: ${{ vars.YUYUN_USER }}
password: ${{ secrets.SERVER_ROOT_PASSWORD }}
overwrite: true
strip_components: 1
source: Server/conf
target: /root/Server
- name: Restart openresty
uses: appleboy/ssh-action@v1.1.0
with:
host: ${{ vars.YUYUN_SERVER }}
username: ${{ vars.YUYUN_USER }}
password: ${{ secrets.SERVER_ROOT_PASSWORD }}
script: |
2024-11-21 00:23:59 +08:00
cd /root/Server
openresty -p . -s reload
2024-06-30 18:34:47 +08:00
- name: Notify-End
if: ${{ always() }}
run: |
echo "${{ github.repository }} 构建结束" > notify.tpl
echo "构建状态: ${{ job.status }}">> notify.tpl
2024-11-01 10:55:43 +08:00
echo "构建地址: https://amass.fun/gitea/${{ github.repository }}/actions/runs/${{ github.run_number }}">> notify.tpl
echo "仓库地址: https://amass.fun/gitea/${{ github.repository }}">> notify.tpl
2024-06-30 18:34:47 +08:00
echo "提交ID: $(git rev-parse --short HEAD)">> notify.tpl
echo -n "提交消息: ${{ github.event.head_commit.message }}">> notify.tpl
cat notify.tpl | envsubst | jq -sR . | xargs -0 -I {} curl -H "Content-Type: application/json" -X POST -d '{"type":"text","msg":{} }' https://amass.fun/notify