【架构师(第五十篇)】 服务端开发之自动发布到测试机

自动发布到测试机

技术前提

  • 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个技巧》。内容比较详实,对各个知识点的讲解也十分到位。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值