GeekPie DevOps 招新宣讲
引言
作为一个存在了多年的,人数最多的计算机社团,我们同时运行着很多的服务。那么我们是如何确保这些服务是可用的,我们社团开发的工作流又是怎样的。
服务器
作为一个经费充裕的社团,我们在不同的地方有着不同的服务器。如何管理这些服务器,如何方便开发者简单的部署服务是Ops的工作。就目前来说,我们在上海有三台阿里云服务器,两台香港的服务器,一台青云的服务器,还有两台在校内。其中在校内的两台中的一台还没有公网ip。把这些服务器方便稳定的链接起来是运维工作的基础。我们目前使用的是Tinc VPN,它是一种mesh,当每一个新节点加入的时候,它会自动连上其他所有的服务器,这样我们的每台服务器都能与其他服务器互相连通。
工作流
开发者需要的是一个快速稳定的部署环境。运维需要一个安全便捷的管理环境。所以我们所有的服务都是基于docker的。简单的来说,docker是为了克服不同的系统环境存在的,比如同样的代码在你的电脑上跑不一定能在我的电脑上跑,docker的思想就是将你的环境和代码打包在一起,在你分享代码的时候同时包含的你跑代码的环境。Github是代码分享与管理平台,方便每个人贡献自己的代码,也方便团队进行协作。社团在Github上有一个自己的Orgnization,开发者要做的就是将docker上传到github上。剩下的全都会较为自动化完成部署。
技能
作为Ops,你需要对Linux系统熟悉,因为我们大部分的服务器都是跑着Ubuntu系统的。此外我们也很环境对网络有了解的人加入我们,因为目前的组网方式依旧不够完善。如果你会写代码,我们会更加欢迎。
Devs
我们既是服务的管理者又是服务的开发者。作为一个立于上科大的社团,为上科大的师生服务也是我们的使命之一。作为一个新的社团,我们更倾向于使用现代,主流,新颖的技术和工具进行开发。
比如镜像源网站是用vue3.0和vuetify框架进行开发的,并使用nginx作为服务器。