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