项目的构建和部署流程
2019-05-13 10:17 *奋斗* 阅读(1336) 评论(0) 收藏 举报1、公司内部使用 Castle CI 进行项目代码构建(给前端构建用的)。
在git工具中,建立“仓库代码”与“Castle”的关联,这样代码提交更新的时候,就会触发Castle 的自动化脚本构建。Castle 进行自动化脚本构建时,需要一个配置文件 Castle.json,这里记录了构建阶段执行的命令,一次完整的构建需要如下阶段:
setup_env // 初始化环境,如加载ssh key,clone仓库,输出环境变量
before_install
install // 执行npm --registry=http://r.npm.***.com --color=always --strict-ssl=false install
after_install
before_test
test // 执行npm test
after_test
注意:Castle.json 中可能包含一个镜像,这个镜像主要是提供一个环境,用来执行前端代码的模块化输出(webpack)。
2、公司内部使用 plus 进行项目代码的部署与发布。
plus 会读取一个叫 manifest.yml 的文件,里面会有些配置脚本。例如:会去执行 bin 下的 .sh 文件,文件中会执行具体的部署任务。
plus 在不同的分支环境阶段,会涉及到一些环境变量,例如:$HOME, $NODE_ENV,会在 bin 下的 .sh 文件中用到。
3、流程图参考。

4、Cargo 泳道
可以将开发所有相关的服务部署到泳道中,保持测试环境相对独立;
可以保持主干环境的稳定,即使自动化用例失败,也比较容易找错误;
可以避免多分支代码合并的冲突问题。Cargo 提供了:
通过应用编排,实现环境快速搭建能力;
结合泳道隔离机制,提供并行测试能力;
便捷高效的测试环境维护和更新能力。
5、thrift
是一种支持跨语言传输的协议。它使用一种独立的语言来定义接口和数据类型,再通过编译生成目标语言的接口文件。例如,PHP的Client端需要与Python的Server端进行RPC交互,可以定义一个统一的交互接口文件(.thrift),再通过thrift命令编译分别生成gen-py和gen-php目录,其中包含了针对python语言和php语言的接口文件。通过在client端和server端包含各自的接口文件,二者即可实现跨语言通信。
浙公网安备 33010602011771号