软件及其公司篇--项目管理(九)终

    科技2022-07-12  131

    CIE(持续集成工程师):

    部分软件列表:

    持续集成工具(CruiseControl; jenkins)

    部署运维工具(docker; k8s)

    DB工具

    脚本系列(cmd(bat); shell)

    分析:

    ​ 随着虚拟技术的不断成熟,云平台应用越来越普遍。因此对开发又提出了新的要求。集成及部署技术也在不断更新。

    持续集成系列

    1. CruiseControl
    软件介绍:(来自百度百科)

    CruiseControl :简称 CC ,持续集成工具,主要提供了基于版本管理工具 ( 如 CVS、VSS、SVN) 感知变化或每天定时的持续集成,并提供持续集成报告、 Email 、 Jabber 等等方式通知相关负责人,其要求是需要进行日构建的项目已编写好全自动的项目编译脚本 ( 可基于 Maven 或 Ant) 。

    软件所属公司介绍:(来自CC官网)

    CruiseControl, a Continuous Integration Toolkit Copyright © 2001, ThoughtWorks, Inc. 200 E. Randolph, 25th Floor Chicago, IL 60601 USA All rights reserved.

    CruiseControl is distributed under a BSD-style license and is free for use. CruiseControl adheres to an open source model and therefore makes the source code freely available. This software is OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative.

    2. jenkins
    软件介绍:(来自百度百科)

    Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

    软件所属公司介绍:(来自+官网github)

    Jenkins的前身是Hudson,采用JAVA编写的持续集成开源工具。Hudson由Sun公司在2004年启动,第一个版本于2005年在java.net发布。2007年开始Hudson逐渐取代CruiseControl和其他的开源构建工具的江湖地位。

    在2010年11月期间,因为Oracle对Sun的收购带来了Hudson的所有权问题。主要的项目贡献者和Oracle之间,尽管达成了很多协议,但有个关键问题就是商标名称“Hudson”。甲骨文在2010年12月声明拥有该名称并申请商标的权利。 因此,2011年1月11日,有人要求投票将项目名称从“Hudson”改为“Jenkins”。2011年1月29日,该建议得到社区投票的批准,创建了Jenkins项目。

    The MIT License

    Copyright © 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., and a number of other of contributors

    部署运维系列

    1. docker
    软件介绍:(来自百度百科)

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

    软件所属公司介绍:(来自百度百科+oschina)

    Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。

    2010年,几个大胡子年轻人在旧金山成立了一家做 PaaS 平台的公司,起名为「dotCloud」

    2013年10月 dotCloud 公司更名为 Docker 股份有限公司,2014年8月 Docker 宣布把平台即服务的业务「dotCloud」出售给位于德国柏林的平台即服务提供商「cloudControl」。

    2. k8s
    软件介绍:(来自百度百科)

    kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

    软件所属公司介绍:(来自百度百科)

    Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。

    谷歌公司(- 参照第一节)

    DB工具系列(- 参照第一节)

    脚本系列

    1. cmd(bat)
    软件介绍:(来自百度百科)

    cmd是command的缩写.即命令提示符(CMD),是在OS / 2 , Win为基础的操作系统(包括Windows 2000和XP中, Vista中,和Server 2003 )下的“MS-DOS 方式”。中文版Windows XP 中的命令提示符进一步提高了与DOS 下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件。

    bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下输入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们 [1] 。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。入侵者常常通过批处理文件的编写来实现多工具的组合入侵、自动入侵及结果提取等功能

    软件所属公司介绍:(来自百度百科)

    微软公司(- 参照第一节)

    2. shell
    软件介绍:(来自百度百科)

    在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

    Shell Script ,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。

    软件所属公司介绍:(来自百度百科)

    每个Linux系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。 同Linux本身一样,Shell也有多种不同的版本。主要有下列版本的Shell: Bourne Shell:是贝尔实验室开发的。 BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。 Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。 C Shell:是SUN公司Shell的BSD版本。 Z Shell:The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。

    总结:

    ​ 随着敏捷开发的不断发展,持续集成工作也日趋复杂也日趋工具化智能化。各大厂家都会根据自己行业或业务特性,且基于开源软件或免费工具进行二次开发,做出适合自己公司或自己产品的持续集成工具。

    ​ 近些年软件行业不断趋向云计算及移动端,运维工具再这种趋势下也在不断细化不断蜕变。所以对于CIE来说,这是一个快乐学习痛苦工作的反复旅程。

    结束语:

    ​ 项目关注时间,成本和范围。因此在上面这些工具基本可以支持完成项目迭代。但产品更关注生命周期,涉及发布,上线,维护,版本升级等等。这样所需要关注的工具更多种类也更繁杂。比如:安全扫描工具,病毒扫描工具,产品可信协议及数据安全等等。公司总会有这样那样流程依赖这些工具(后面另外会有关注生命周期的文章再做介绍),但公司限于行业要求或技术积累,总有一些工具组合成固定模式一直保持(或套路或习惯)。 因此我们并非需要学习所有内容,了解这些模式立足其技术或工具,也可以做出贡献。

    ​ 下期博客,关注软件公司会有哪些会议,这些会议是什么,干什么用。

    Processed: 0.013, SQL: 8