自动发布到测试机
技术前提
github actions
监听git
提交,并执行自定义命令docker
可以一键部署开发环境- 两者结合,即可完成自动发布到测试机
配置测试机
ssh 登录到云服务器
ssh root@82.156.xxx.xx
// 然后输入密码

// 退出
exit

创建 work 账号
adduser work
passwd work
// 然后输入两次密码

添加 work 账号的 sudo 权限
// 找到文件位置
whereis sudoers
// 修改权限
chmod u+w /etc/sudoers
// 编辑文件 找到 root ALL=(ALL) ALL 再添加一行 work ALL=(ALL) ALL
vim /etc/sudoers
// 修改权限
chmod u-w /etc/sudoers

退出 root
账号,使用 work
登录云服务器,然后执行 su
,再输入 root
账号的密码,即可拥有超级权限。

免密登录
root
账号可以免密登录了, work
账号不能,没弄明白,就先用 root
账号操作吧,反正就我自己用。
安装必备软件
安装 git
yum -y install git
git --version
安装 docker
👉👉 CentOS安装文档
查看版本
docker --version
docker compose version

设置镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
cd /etc/yum.repos.d/
ll

开放端口
- B 端 FE - 80
- B 端 server - 8081
- C 端 - 8082
- 统计服务,收集日志 - 8083
- 统计服务 OpenApi - 8080
- admin FE - 8085
- admin server - 8084
线上环境,不会开放这么多端口,而是用 nginx
反向代理
自动发布到测试机
思路梳理
- 使用
github actions
监听main
分支push
行为 - 登录测试机,获取最新
main
分支代码 - 重新构建镜像,
docker-compose build editor-server
- 重启所有容器,
docker-compose up -d
配置文件
# dev 分支 自动部署到测试机
name: deploy for dev
on:push:branches:- 'main' # 只针对 main 分支paths:- '.github/workflows/*'# - '__test__/**' # dev 不需要立即测试- 'src/**'- 'Dockerfile'- 'docker-compose.yml'- 'bin/*'
jobs:deploy-dev:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2- name: set ssh key # 临时设置 ssh keyrun: |mkdir -p ~/.ssh/echo "${{secrets.WFP_ID_RSA}}" > ~/.ssh/id_rsachmod 600 ~/.ssh/id_rsassh-keyscan "82.156.xxx.xx" >> ~/.ssh/known_hosts- name: deploy # 部署run: |ssh root@82.156.xxx.xx "cd /home/work/imooc-lego/biz-editer-server;git remote add origin https://${{secrets.WFP_TOKEN}}@github.com/alanhzw/biz-editer-server.git;git checkout dev;git pull origin dev; # 重新下载最新代码git remote remove origin; # 删除 origin ,否则会暴露 github 密码# 启动 dockerdocker compose build editor-server; # 和 docker-compose.yml service 名字一致docker compose up -d;"- name: delete ssh key # 删除 ssh keyrun: rm -rf ~/.ssh/id_rsa
临时设置 ssh key
把本机的私钥放在代码仓库 setting
里面的 Secrets
中

获取代码仓库
教程里面是用用户名密码的方式克隆仓库的,但是现在已经不支持了,需要使用个人的 token
点击 settings

点击 Developer settings

点击 Generate new token

选择永不过期,把所有的框都勾选上

最后点击 Generate token
生成令牌

将生成的令牌拷贝下来,保存,下次就看不到了。

然后把马赛克的地方换成刚才复制的 token
就可以克隆仓库了。

删除 git 源,以免暴露信息
git remote remove origin
git remote -v

远程接口测试
提交代码,github actions
正常

到云服务器上检查一下,镜像正常

远程访问一下接口,是通的,完美!!!

最后
最近找到一个VUE的文档,它将VUE的各个知识点进行了总结,整理成了《Vue 开发必须知道的36个技巧》。内容比较详实,对各个知识点的讲解也十分到位。
有需要的小伙伴,可以点击下方卡片领取,无偿分享