废话不多说,直接来干的。这里介绍一套成熟的方案。
gitlab(代码管理)+jenkins(持续集成)+k8s(服务管理)
其中涉及到的技术细节:dockerindockermakefile
gitlab使用介绍
gitlab是一款类似github的开源代码管理软件,可在公司内网,直接搭建一套私有代码仓库,适合团队多人开发,具有完善的分支管理、角色管理、issue、里程碑等。是非常优秀的一款软件。
jeknis使用介绍
这是一款开源持续集成软件,说人话就是使用他可以自动化部署服务。其具有gitlab相关的插件,安装后可直接对接gitlab,当gitlab发生push或者merge代码事件,会通知jeknis去完成最新推送的代码的镜像构建和部署。
推荐上面说的两款技术和jeknis混合使用。
1dockerindocker技术。顾名思义就是docker里面运行docker,简单点直接用dockerfile在jeknis镜像的基础上安装docker客户端或者k8s客户端。这样我们在容器中就可以直接调用宿主机的docker命令或者k8s命令。这对我们使用jenkins执行部署脚本,通知k8s或者docker部署服务,非常方便。
2makefile之所以介绍这款他,是因为其具有一个绝佳的功能,可以检测文件内容是否发生变化,这样对于微服务架构,其配合jenkins,无需指定什么,就可以部署上发生文件变化的微服务。而不会影响到其他服务。
k8s使用介绍
这款当红炸子鸡,相信大家耳闻已久。其实现了对docker的管理和编排。配合上共享存储和其服务自动重启机制,可以让我们的服务无当机。
对于docker内部服务的暴露推荐ingress+service
docker镜像管理推荐harbor。
以上完整的自动化开发部署环境,有兴趣的可以自行学习相关内容,进行搭建测试。
把本地项目部署到服务器上方法比较多,这里以javaee项目为例:
1、把项目打包成zip,
2、FTP上传到生产服务器tomcat的webapps目录下解压;
3、本地修改好的文件,
4、立即FTP上传到生产服务器对应的目录;
5、生产服务器安装svn服务,在本地把修改过的文件commit,然后生产服务器update。
扩展资料:
可以从这几个方面来衡量服务器是否达到了其设计目的;R:Reliability可靠性;A:Availability可用性;S:Scalability可扩展性;U:Usability易用性;M:Manageability可管理性,即服务器的RASUM衡量标准。
1、可扩展性
服务器必须具有一定的“可扩展性”,这是因为企业网络不可能长久不变,特别是在当今信息时代。如果服务器没有一定的可扩展性,当用户一增多就不能胜任的话,一台价值几万,甚至几十万的服务器在短时间内就要遭到淘汰,这是任何企业都无法承受的。为了保持可扩展性,通常需要在服务器上具备一定的可扩展空间和冗余件(如磁盘阵列架位、PCI和内存条插槽位等)。
可扩展性具体体现在硬盘是否可扩充,CPU是否可升级或扩展,系统是否支持WindowsNT、Linux或UNIX等多种可选主流 *** 作系统等方面,只有这样才能保持前期投资为后期充分利用。
2、易使用性
服务器的功能相对于PC机来说复杂许多,不仅指其硬件配置,更多的是指其软件系统配置。服务器要实现如此多的功能,没有全面的软件支持是无法想象的。但是软件系统一多,又可能造成服务器的使用性能下降,管理人员无法有效 *** 纵。所以许多服务器厂商在进行服务器的设计时,除了在服务器的可用性、稳定性等方面要充分考虑外,还必须在服务器的易使用性方面下足功夫。
服务器的易使用性主要体现在服务器是不是容易 *** 作,用户导航系统是不是完善,机箱设计是不是人性化,有没有关键恢复功能,是否有 *** 作系统备份,以及有没有足够的培训支持等方面。
参考资料来源:百度百科 :服务器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)