GitHub Actions
GitHub Actions 是 GitHub 的持续集成服务,我们可以使用它做网站的自动部署等工作。可以点击下面的链接查看示例。 https://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html desc:true
我们这里只做应用。
GitHub 变量
添加
可以到 GitHub 仓库的 settings -> Secrets -> Actions 中新增变量
具体步骤如下
如何使用
在配置文件 .github/workflows/main.yml
中可以使用 ${{secrets.变量名}}
的方式使用
name: copy dist file with scp
uses: appleboy/scp-action@master
with:
host: ${{ secrets.WXW_HOST }}
username: ${{ secrets.WXW_USERNAME }}
password: ${{ secrets.WXW_PASSWORD }}
port: 22
source: public/
target: ${{ secrets.WXW_TARGET }}
这里的
WXW_HOST
是服务器公网 ip,WXW_USERNAME
是服务器用户名,WXW_PASSWORD
是服务器用户密码,WXW_TARGET
是要复制文件到那个文件中。 我们会在下面的配置中使用这几个变量
最终代码
name: deplay-hexo-blog
on:
push:
branches: [master]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# 安装nodejs
- name: install nodejs
uses: actions/setup-node@v3.4.1
with:
node-version: 16.x
# 安装依赖
- name: install packages
run: npm install
# 打包项目
- name: build
run: npm run build
# 文件复制到服务器
- name: copy dist file with scp
uses: appleboy/scp-action@master
with:
host: ${{ secrets.WXW_HOST }}
username: ${{ secrets.WXW_USERNAME }}
password: ${{ secrets.WXW_PASSWORD }}
port: 22
source: public/
target: ${{ secrets.WXW_TARGET }}
代码详解:
这段代码表示在 master 分支提交时会触发该 actions
on:
push:
branches: [master]
workflow_dispatch:
这一段为使用 ubuntu-latest 虚拟机执行,安装 nodejs -> 安装依赖 -> 项目打包 -> 将文件复制到服务器指定位置
name 为 copy dist file with scp
这一段会把生成好的 public
文件复制到服务器指定位置 ${{secrets.WXW_TARGET}}
下
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
# 安装nodejs
- name: install nodejs
uses: actions/setup-node@v3.4.1
with:
node-version: 16.x
# 安装依赖
- name: install packages
run: npm install
# 打包项目
- name: build
run: npm run build
# 文件复制到服务器
- name: copy dist file with scp
uses: appleboy/scp-action@master
with:
host: ${{ secrets.WXW_HOST }}
username: ${{ secrets.WXW_USERNAME }}
password: ${{ secrets.WXW_PASSWORD }}
port: 22
source: public/
target: ${{ secrets.WXW_TARGET }}
服务器配置 nginx
我这里使用www.whbbit.cn
这个域名
server {
listen 80;
server_name www.whbbit.cn;
location / {
root /code/public;
index index.html;
try_files $uri $uri/ = 404;
}
}
配置好后,运行nginx -s reload
重启一下 nginx 服务器,我们就可以使用www.whbbit.cn
来访问我们部署好的网站了。
评论区
评论加载中...