基于 Git 源码部署
:::tip 注意
假设新建项目名为:erda-test,新建应用名为:java-demo。下文中的 git 仓库地址将会涉及到这两个名字。
:::
示范代码是一个基于 spring boot web service 的简单 web 服务,代码直接托管在了 Github 上。
:::tip 注意
Erda 平台可以部署运行任意语言、任意框架开发的代码,并不局限于 Java、SprintBoot 等。
:::
下载示范代码到本地
推送示范代码到平台
平台基于标准的 Git 协议内置实现了一个 git 代码仓库,用户不需要依赖外部仓库(比如:gitlab 等)就可以完成从源码开发到部署全流程。
完成代码推送后,即可在代码仓库中查看代码信息。
给该示范代码工程添加平台配置文件 pipeline.yml 和 dice.yml。
pipeline.yml
pipeline.yml 描述一个从代码编译构建到应用部署的流水线的配置文件;简单的完成基于 Git 源码部署,一般可以设置 4 个 stage 来组成 pipeline.yml,4 个 stage 按照书写顺序依次执行,分别是:
- 拉取 Git 源码
- 基于源码编译、构建,制作 Docker 镜像
- 生成版本产物
- 基于版本产物完成部署
4 个 stage 分别可用如下 Action 来执行:
:::tip
此处介绍的 4 个 stage 只能算是最基本的,可以按照自己的需求设置更多的 stage,比如:单元测试等。另外,stage 和 Action 并不是一对一的关系,一个 stage 中可以设置多个 Action 同时并行执行。
该示例工程的完整 pipeline.yml,更多功能可以参考 。
dice.yml
dice.yml 是描述一个应用的服务架构,对 CPU、内存等资源的配置,服务插件的依赖关系以及发布形式的 yml 配置文件;以下是该示例工程的 dice.yml,更多功能可以参考 。
提交文件
将新增的两个 yaml 文件提交至平台的代码仓
:::tip 注意
这里提交的远程仓库分支的前缀是 feature/*,分支名会直接决定应用部署的环境。
:::
- 进入,右上角点击,选择 分支创建新的流水线任务。
- 流水线任务分析完成后,处于待执行状态,右上角点击 ,开始执行构建。
- 流水线任务执行过程中,可以实时查看流水线各步骤的执行状态,并点击查看对应节点执行状况的日志信息。
通过流水线构建源码,并成功完成部署动作后,可在部署中心看到已经成功部署的应用实例 Runtime,进入 Runtime 中可以进一步进行 相关的操作,比如:配置域名、服务实例扩缩容等。
仔细观察可以注意到刚才部署的 Runtime 属于开发环境中,这是由平台默认的 分支规范 所决定的,当然可以通过应用设置来自定义分支规范。