如何监控metrics
docker启动时候就开始进行log记录了,统一传入AWS CloudWatch,后端维护借助日志,on call duty负责对metrics面板进行监控,主要还是docker是否运行正常,是否激活(hotpool)。
Gitlab CI/CD
CI自动化部署yaml文件编写,构建工作流pipeline;主要是不同环境的推送和deploy之类的
证书更新、过期npm包更新
证书更新是S3存储桶+step functions 人工完成更新,stepFunction生成新的image,同时在后台AdminDashboard设置hotpool新的image,并disable旧的worker; npm包更新,基于CVE检测,冲突解决,dependency关联 npm.js查询
gitlab-runner
- 类似于jenkins的agent,任务执行器
- 执行步骤:
- Runner向/api/v4/runners发送POST请求,请求里带有注册Token
- 注册成功后返回runner_token
- Runner通过循环向/api/v4/rquest发送POST请求,请求里带上runner_token
- 认证通过后接口返回带有任务信息的payload和任务相关的job_token
- 然后将任务信息发送给执行器,执行器使用job_token来
- 克隆所需的代码
- 下载配置或组件
- 执行器执行完成后,返回任务输出和任务状态信息
- Runner向GitLab返回任务输出、任务状态以及job_token
python辅助
- logging_utilities、upload_utilities等模块熟悉
- 更新机器文件,写pipeline
- requests、threading、re、time等库使用完成自动化日志文件爬取
node.js开发工作
- 1.Jest单元测试
- Jest结合mock代码库源码,describe和it使用,用express和supertest的request进行前后端请求劫持,supertest利用express加载过中间件的router调用并异步设置header的Authentication以及then处理
- Promise函数创建以及resolve以配合then异步响应,创建Jest.fn(()=>{})mock函数对api.js中定义的ddb等基础服务返回fakerespond
- export 和 export default使用,对外暴露obj或函数
- 2.Node.js express、jsonwebtoken、express-jwt使用
- test过程需要使用express扩展中间件,如jsondecode,express-jwt.decode进行解码返回指定playload
- 3.sinon.js 库进行第三方api库函数mock
- 对jwt进行sinon.stub函数实现mock替代
- 创建sandbox沙盒环境 并在jest.afterAll后执行restoreEnviroment(),前后场景Context切换
- 4.siemens Web Framework
- react framework
- MVVM framework
- components
- table、list、popup-menu、button、command等熟悉使
- 完成backend功能对接frontend某功能页面
- 设计子页、弹出form、响应时间、notify通知
CVE修复
- 设计子页、弹出form、响应时间、notify通知
- react framework
- CVE修复
- 对git中多个仓库使用trivy-scan扫描(sonarqube也可以扫描)
- 本地使用Gitlab Runner进行本地部署
- 找出critic& high vulnerabilities
- 参考指南书操作修复
- 完成repo镜像打包
- 分发至amazon ecs中
- 使用aws inspector复核问题