赞
踩
你写了一个博客网站,在没有配置CICD的时候。需要改动一些内容,你需要做下面几件事
- npm run build等待编译
配置了CICD,你只需要做一件事情
- 提交代码
工作中常用的CICD工具有Gitlab CI,Travis CI等,场景也会更复杂。这里使用github actions,不需要跑ci的服务器。用最简单的配置。实现github中提交代码,自动编译,自动部署到自己的服务器
一. 找到你要配置的github项目,创建工作流。
这时会在根目录生成一个ci配置文件.github/workflows/blank.yml
二.配置项目的secrets,供actions配置文件使用
SSH_PRIVATE_KEY
1.登录到服务器
2.cd ~/.ssh,如果有id_rsa和id_rsa.pub 文件。代表以前配置过,跳过第三步
3.执行命令ssh-keygen -t rsa -C "your_email@example.com",这样会生成id_rsa和id_rsa.pub
4.执行命令cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys。将公钥设置成authorized_keys的内容
5.最后将私钥id_rsa的内容设置到secrets中
其他secrets
REMOTE_HOST 服务器ip地址 199.199.222.22
REMOTE_USER 用户名 root
TARGET 服务器打包文件位置,如nginx的 /home/master-ui/dist
三. 配置CI文件
actions配置文件:.github/workflows/blank.yml
部署是使用ssh-deploy
name: CI demo on: push: branches: - master jobs: build: name: build runs-on: ubuntu-latest steps: # 切换到master分支 - name: checkout uses: actions/checkout@master # 使用 node:10 - name: use Node.js 10 uses: actions/setup-node@v1 with: node-version: 10 - name: npm install run: | npm install # 构建 - name: npm build run: | npm run build # 部署 - name: deploy uses: easingthemes/ssh-deploy@v2.0.7 # 注入环境变量供ssh-deploy使用 env: # secrets中配置的私钥,用于免密连接服务器 SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} # 服务器地址 REMOTE_HOST: ${{ secrets.REMOTE_HOST }} # 用户名 REMOTE_USER: ${{ secrets.REMOTE_USER }} # 部署路径 TARGET: ${{ secrets.TARGET }} # 打包文件来源 SOURCE: "dist/" # 删除服务器上TARGET目录里所有文件 ARGS: "-avz --delete"
Done
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。