diff --git a/.gitea/workflows/main.yml b/.gitea/workflows/main.yml index 5e6e011..76321f0 100644 --- a/.gitea/workflows/main.yml +++ b/.gitea/workflows/main.yml @@ -1,59 +1,38 @@ -name: Deploy +name: Deploy to Server + on: push: - branches: - - main + branches: + - main # 假设你的主分支是main,如果不是请替换成你的主分支名称 + # 你可以根据需要添加其他触发条件 jobs: - build-and-deploy: - runs-on: server - steps: # 步骤 + deploy: + runs-on: server + if: contains(github.event.head_commit.message, '发布') # 检查提交信息是否包含“发布” - # 第一步:下载源码(CI/CD拉取代码到自己的本地) - - name: Checkout - uses: actions/checkout@main + steps: + - name: Checkout code + uses: actions/checkout@v2 - # 第二步:打包构建 - - name: Build - uses: actions/setup-node@main - # - run: npm install # 安装第三方包 - # - run: npm run build # 打包 - - run: tar -zcvf release.tgz . - # 把当前源代码目录所有文件,打包压缩为release.tgz - - # 第三步:发布 Release - - name: Create Release # 创建Release,可以在仓库看到一个个版本 - id: create_release - uses: actions/create-release@main - # env: - # GITHUB_TOKEN: ${{ secrets.TOKEN }} # 之前GitHub添加的Token - with: - tag_name: ubdata - release_name: Release ubdata - draft: false # 是否是草稿 - prerelease: false # 是否是预发布 - - # 第四步:上传构建结果到 Release(把打包的tgz上传到Release) - - name: Upload Release Asset - id: upload-release-asset - uses: actions/upload-release-asset@main + - name: Create Release env: - GITHUB_TOKEN: ${{ secrets.TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} # 上传地址,通过创建Release获取到的 - asset_path: ./release.tgz # 要上传文件 - asset_name: release.tgz # 上传后的文件名 - asset_content_type: application/x-tgz + GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} # 你需要在Gitea仓库的Settings/Secrets中设置一个名为GITEA_TOKEN的Secret,值为你的访问令牌 + run: | + git config --global user.email "2024374354@qq.com" # 替换为你的邮箱 + git config --global user.name "hexianglong" # 替换为你的名字 + git tag -a v$(date +%Y%m%d%H%M%S) -m "Release $(date +%Y%m%d%H%M%S)" # 创建一个基于当前时间的标签 + git push origin v$(date +%Y%m%d%H%M%S) # 推送标签到Gitea - # 第五步:部署到服务器 - - name: Deploy - uses: appleboy/ssh-action@main # 使用ssh链接服务器 + - name: SSH and Deploy + uses: appleboy/ssh-action@master with: - host: 10.147.17.161 - username: root - password: Hxl110119 - port: 22 - script: | # 执行命令(运行到服务器)cd:要确保服务器有这个目录; wget:下载上一步的release到服务器; tar:解压; 安装依赖;启动服务 - cd /www/1panel/apps/openresty/openresty/www/sites/other/index - wget http://10.147.17.160:3000/he_and_smallyue/other-web/releases/latest/download/release.tgz -O release.tgz - tar zxvf release.tgz + host: ${{ secrets.HOST }} # 服务器IP地址 + username: ${{ secrets.USERNAME }} # 服务器用户名 + password: ${{ secrets.PASSWORD }} # 服务器密码,你需要在Gitea仓库的Settings/Secrets中设置 + port: 22 # 如果不是默认的22端口,请替换成正确的端口号 + script: | + cd /www + wget http://10.147.17.160:3000/he_and_smallyue/other-web/releases/latest/download -O release.zip # 替换成你的实际下载链接 + unzip release.zip + rm release.zip \ No newline at end of file