1-1 请说一下你项目中是如何进行项目管理和发布的
我们公司用是用gogs作为代码的托管,jenkins作为项目的自动运维发布
首先,会在gogs内创建一个仓库,将代码拉到本地,是与gogs同步的,当我们的代码进行开发,或者当代码开发完毕之后,我们需要将代码提交到gogs中进行同步操作;
当gogs得到提交的代码后,会通知jenkins,jenkins会拉取gogs中的代码,然后通过写好的脚本进行自动清理、打包、部署等操作,通过脚本生成镜像,容器;
1-2 现在浏览器点击按钮出现了一个报错,如何定位发生问题的代码
找报错的话,我们要先找到哪一个业务流程出现了错误, 然后,我们需要通过打断点的方式找到错误位置;
首先,通过前端F12找到错误代码的路径信息;
其次,会根据请求路径在Nginx中查看是再那个服务当中;
然后,网关在Nacos中获取所对应的微服务地址,从而找到相对应的微服务;
最后,通过对微服务的业务层进行打断点的方式,找到错误所发生的位置。
1-3 你的项目中进行用户的登录和检验的详细流程是怎样的
首先,当用户在登录界面输入用户名和密码,客户端会将用户输入的账号和密码传入服务端;
然后将用户名传入数据库,进行搜索、比对,看数据库当中是否存在该用户账号,若是不存在,则直接返回一个无此用户的结果,若是在数据库当中查到了该用户的账号就转到下一步校验密码的操作;
接下来当进行密码的比对时,服务端会将用户输入的密码进行统一的密码加密操作,确保用户输入的密码和数据库当中的密码加密格式相同,然后进行比对,若是比对成功,则可以登录成功,若密码输入错误,则返回给用户一条密码错误的信息;
在登录成功之后,需要生成一个标识身份的token,返回给前端,前端会将这个token保存起来;
用户在之后进行登录操作的时候,需要携带者这个token,我们需要再配置一个拦截器来拦截,对传入的token进行校验;
若校验通过了,则放行请求,可以正常访问;若校验失败了,则禁止通过,并返回提示。
1-4 说一下文章发布的流程
文章的发布本质就是先对文章的状态先进行判断,再对文章的内容进行审核的流程;
首先,当作家提交或者保存草稿后,判断文章id是否存在,若存在,则证明已经存在了此草稿,此时后台需要删除已经关联的素材关系,然后对草稿进行修改,如果这个id不存在,则是一个新增文章的操作;
此时已经分辨出是否为草稿,然后要对关联内容的图片和素材进行判断,判断封面是自动还是手动选取的个数,若是手动的话,根绝自己选择的个数来截取前几张图片作为封面;
若是自动的话需要判断文章内存入的图片有几张,若没有图片的话就只显示标题和一部分内容,若是图片个数小于三张图的话就显示一张图片,若图片大于等于三张的话就显示前三张图片