From e56638565058ad72bda83dd2a7346e02b690894b Mon Sep 17 00:00:00 2001 From: amass <168062547@qq.com> Date: Fri, 14 Mar 2025 16:31:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0systemd=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/deploy.yaml | 88 ++++++++++++++++++++++++++++++++++++ CMakeLists.txt | 10 +++- resources/coturn.service | 16 +++++++ resources/older.service | 3 +- 4 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 .gitea/workflows/deploy.yaml create mode 100644 resources/coturn.service diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml new file mode 100644 index 0000000..a927e05 --- /dev/null +++ b/.gitea/workflows/deploy.yaml @@ -0,0 +1,88 @@ +name: Deploy +run-name: build and deploy app to server. +on: + push: + paths: + - '**.cpp' + - '**.h' + - '**.conf' +jobs: + Build: + runs-on: [ubuntu-latest, ubuntu-24.04] + container: + image: registry.cn-shenzhen.aliyuncs.com/amass_toolset/ubuntu_dev:24.04 + credentials: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + steps: + - 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 2022 gitea.amass.fun >> ~/.ssh/known_hosts + - name: checkout repository + uses: actions/checkout@v4 + - name: Notify-Start + if: ${{ always() }} + run: | + echo "${{ github.repository }} 开始构建..." > notify.tpl + echo "构建地址: https://gitea.amass.fun/${{ github.repository }}/actions/runs/${{ github.run_number }}">> notify.tpl + echo "仓库地址: https://gitea.amass.fun/${{ github.repository }}">> notify.tpl + 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/api/v1/notify + - run: resources/build.sh build + - name: Copy 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: 2 + source: build/Server/HttpServer + target: /tmp + - name: Restart server + uses: appleboy/ssh-action@v1.1.0 + with: + host: ${{ vars.YUYUN_SERVER }} + username: ${{ vars.YUYUN_USER }} + password: ${{ secrets.SERVER_ROOT_PASSWORD }} + script: | + cd /root/Server + source /etc/profile + /root/Server/HttpServer --exit + sleep 1 + cp /tmp/HttpServer /root/Server/HttpServer + nohup /root/Server/HttpServer > /dev/null 2>&1 & + exit 0 + - 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: | + cd /root/Server + openresty -p . -s reload + - name: Notify-End + if: ${{ always() }} + run: | + echo "${{ github.repository }} 构建结束" > notify.tpl + echo "构建状态: ${{ job.status }}">> notify.tpl + echo "构建地址: https://gitea.amass.fun/${{ github.repository }}/actions/runs/${{ github.run_number }}">> notify.tpl + echo "仓库地址: https://gitea.amass.fun/${{ github.repository }}">> notify.tpl + 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/api/v1/notify diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d82777..4be7c48 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,6 @@ find_package(Boost REQUIRED COMPONENTS json) find_package(OpenSSL REQUIRED) -add_subdirectory(/root/Projects/Kylin Kylin) add_subdirectory(3rdparty) add_subdirectory(Base) add_subdirectory(UnitTest) @@ -29,4 +28,11 @@ target_link_libraries(Older PRIVATE Kylin::Router PRIVATE Boost::json PRIVATE sqlite3 -) \ No newline at end of file +) + +include(FetchContent) +FetchContent_Declare(Kylin +GIT_REPOSITORY ssh://git@gitea.amass.fun:2022/amass/Kylin.git +) +# add_subdirectory(/mnt/e/Projects/Kylin Kylin) +FetchContent_MakeAvailable(Kylin) \ No newline at end of file diff --git a/resources/coturn.service b/resources/coturn.service new file mode 100644 index 0000000..40dfe8e --- /dev/null +++ b/resources/coturn.service @@ -0,0 +1,16 @@ +[Unit] +Description=Coturn TURN/STUN Server +After=network.target + +[Service] +Type=simple +ExecStart=/opt/Libraries/coturn-4.6.3/bin/turnserver -c /root/Server/turnserver.conf +WorkingDirectory=/root/Server +Restart=on-failure +RestartSec=5s +User=root +Environment="LD_LIBRARY_PATH=/opt/Libraries/boost_1_87_0/lib:$LD_LIBRARY_PATH" +Environment="PATH=/opt/Libraries/coturn-4.6.3/bin:$PATH" + +[Install] +WantedBy=multi-user.target diff --git a/resources/older.service b/resources/older.service index 705a7e5..954c291 100644 --- a/resources/older.service +++ b/resources/older.service @@ -1,14 +1,15 @@ [Unit] Description=Http Server After=network.target -# /etc/systemd/system/older.service [Service] Type=simple ExecStart=/root/Server/Older WorkingDirectory=/root/Server Restart=on-failure +RestartSec=5s User=root +Environment="LD_LIBRARY_PATH=/opt/Libraries/boost_1_87_0/lib:$LD_LIBRARY_PATH" [Install] WantedBy=multi-user.target