说辞:熟悉分布式版本控制系统git,可以熟练使用git进行开发。了解集中版本控制系统svn
- 介绍
git是个版本控制系统,用来控制多个开发协作开发的。常见的代码托管系统,github、gitee等。 - 常见命令
// 初始化 git init // 克隆仓库 git clone // 进行相关配置 git config // 添加代码、提交 git add git commit // 远端获取代码库 git fetc // 下载代码 git pull // 上传代码 git push // 创建分支 git branch 分支名字 // 切换分支 git checkout 分支名字 // 合并分支 git merge
- 基本开发流程(牵扯到开发的知识)(注意:下面使用git命令行、小乌龟git、idea自带的git工具都行)
// 0.如果本地没有对应的代码仓,先克隆 git clone // 1.在网页的服务仓创建自己的个人分支 // 2.将远端的分支拉取到本地/切换分支到自己的本地分支 git fetch git checkout // 3.拉取个人分支最新的代码 git pull // 4.本地修改代码(进行开发) // 5.将自己开发的文件添加到提交列表中 git add // 6.将自己的开发本地提交 git commit // 7.将本地的提交推送到远端仓库 git push // 8.新建mr(个人分支到主干分支)并检视,检视通过可以合入。(注意如果有冲突,需要解决冲突)常用linix命令
说辞:熟悉linux系统,能熟练使用常见命令。能熟练进行开发和定位问题。
- 介绍
linux目前是服务器的主流,开发需要掌握必不可少的知识。
进一步了解https://blog.csdn.net/qq_23329167/article/details/83856430/ - 相关命令
# 1.对目录的操作 // 切换目录 cd // 目录查看 ls 或者ll // 目录的增删改查 mkdir rm mv、cp find # 2.对文件的操作 // 文件的增删改查 touch rm vim // 修改权限 chmod 750 文件 // 修改数组 chown paas:paas 文件 # 3.压缩解压缩 tar -zxvf # 4.对环境的路由ip的进行操作。
- shell脚本编写(涉及开发)
// 1.现在本地编写脚本 // 2.在环境上面编写脚本验证功能。(不用部署的到这儿就停止,需要部署验证的往下走) // 3.替换对应安装包中需要修改的部分 // 4.部署环境验证 // 5.提交代码合并
- 常见部署运维 (涉及开发)
// 替换镜像、开发 // 查看日志、定位问题 vim 文件 --查看文件 /关键字 ?关键字 ---向下查找、向上查找 (用于查找关键日志) tail -f 文件 ---追踪日志 (用于特定触发并查看实时日志) grep "关键字" 文件 或者 zgrep --用于过滤日志文件特定信息。 tar -zxvf 压缩包(tar.gz) ----解压压缩包Docker
说辞:熟悉容器技术docker,并能使用相关命令完成基本开发。
- 介绍
是一个开源的应用容器引擎。开发者可以把自己的应用和依赖包打包到一个可移植的镜像中,发布到镜像仓库,从而可以使用。经常用应用自动化部署、测试、持续集成等场景。 - 相关概念:微服务、
- 常用命令:
// 查询容器信息 也可以加上grep来过滤关键信息 docker ps // 运行容器 docker run 参数 容器id /bash // 进入容器 docker exec -itu root 容器id bash // 关闭 停止 重新拉起 docker stop/start/restart 容器id // 容器暂停与恢复 docker pause/unpause 容器id // 查看容器镜像 可以加上grep 过滤 docker images // 容器与主机之前的拷贝文件 docker cp // 为镜像创建一个新的标签 docker tag 镜像id 新的标签名 // 镜像仓库推送镜像 docker push 标签名 // 像是容器镜像历史 docker history
- 服务替换流程(牵扯到开发的知识) (记忆重点:装载 - 查询 - 打标签 - 推送 - 替换服务deployment)
// 1.上传代码到个人仓库,跑个人流水线出镜像包 例如cspdevicemanager_1.0.0-csp-SNAPSHOT20200525145838.tar.gz // 2. 解压其中的包,在images目录下将镜像包通过ssh工具传到服务器上面 // 3. 使用如下命令装载镜像 docker load -i cspdevicemanager_1.0.0-csp-SNAPSHOT20200525145838.tar.gz // 4. 查询对应的服务的镜像 docker images | grep device // 5. 把加载镜像打上自己对应的标签 docker tag a00557e13e7a 192.168.0.2:20202/op_svc_pom/cspdevicemanager:xqx // 6. 把镜像包推送到镜像仓库 docker push 192.168.0.2:20202/op_svc_pom/cspdevicemanager:xqx // 7.使用k8命令修改I服务的depoloyment,使用自己的镜像 kubectl edit deployment -n fst-manage cspdevicemanager kubectl edit statefulset -nfst-manage fileserver // 8.查询镜像是否替换成功 docker ps|grep device // 另外删除镜像 docker rmi -f (查询出来的第三项)kubernetes
说辞:了解k8s相关知识,能使用简单的命令进行开发维护。
-
介绍
k8s是一个容器集群管理系统,可以实现容器集群的自动化部署、自动化扩缩容、维护等功能。
可以理解docker只是管理各个容器。k8s既可以管理容器,又可以管理节点。
了解链接:k8s知识
k8s常见命令 -
常见服务替换定位修改
// 查询对应命名空间下的pod。可以加grep进行过滤 kubectl get pod -nfst-manage // 删除对应的pod (一般来说要重启的话就直接delete,pod会自动拉起) kubectl delete pod -nfst-manage // 查看对应微服务的详细信息 kubectl describe pod -nfst-manage 微服务id // 编辑对应服务的deployment kubectl edit deployment -n fst-manage cspdevicemanager // 查看对应命令空间的node kubectl get node -nfst-manage实习期内容
说辞:熟悉云核业务,熟悉了解常见的开发维护流程(git、codehub和dts等系统的使用)。进行简单的特性开发(师傅带着开发了个特性,自己负责其中一个小的sr),进行问题单修改(通过修改问题来熟悉业务)。
- 熟悉业务
- CSPEdge开发团队:负责初始部署和应用管理。团队是云核下面的一个五级部分,上一级部门为平台及电信云开发部,在上一级为CSP开发部。主要是做一个平台,我们团队负责其中的一部分。在平台上面可以搭建各种各样的网元,网元及以上部分接触不多。
- 平台:可以理解为搭建在linux环境上面的一个系统。包括设备管理、资源管理、应用管理、应用配置、监控分析、软件中心、安全、系统等。
- 我自己是在其中一个pl团队:应用生命周期管理团队。我们团队主要是负责其中的节点管理,应用部署、软件仓库、大页内存等部分。
- 确认问题流程
团队测试/持续集成测试进行测试 -> 发现不符合预期的地方 -> 发邮件给对应团队接口人进行定位 -> 得到最后结论(是问题、非问题)
- 问题单修改流程
测试在dts系统上提交问题单 -> 测试经理审核 -> 走给对应开发进行修改 -> 走给审核人员修改 -> 测试经理组织测试 -> 测试人员回归测试



