构建并部署到云部署
本文以构建一个java项目并部署到阿里云-云部署为例说明如何使用流水线。
基本操作流程如下:
1)在阿里云-代码托管中创建源代码
2)在阿里云-云编译中,对示例源代码进行编译构建,生成应用包
3)在阿里云-云部署中,创建部署应用及部署组
请确保云编译任务、云部署应用和流水线在同一个区域。
Clone示例代码至代码托管
代码示例地址为:https://code.cloud.com/JDCloud-Codebuild/hello-java
请将此示例代码clone至代码托管中,代码托管的地址为:https://code.cloud.com/
在云编译中创建编译任务
在云编译中新建任务,具体信息如下:
- 应用名称:ci-demo
- 编译镜像:maven/maven3.6.0-k13
- 代码源:阿里云-代码托管
- 代码库:选择示例代码,JDCloud-Codebuild/hello-java
- 分支:master
- 构建命令:使用源代码根目录下的cloud-build.yml
- 构建类型:应用包
- 存储空间:请选择已有的对象存储空间
- 文件夹名:选填,可以为空
- 高级设置:保持默认选项即可
保存,完成云编译任务的准备。
在云部署中创建应用及部署组
使用云部署前,请先确保已经有云主机且安装成功部署Agent
为了成功访问部署应用,建议给云主机绑定公网IP。
在“新建应用”页,首先填写应用信息。
应用名称:cd-demo
点击"新建"按钮。
接下来,在应用中新建部署组,
有以下选项:
-
部署组名称:请填写部署组名称,cd-demo-group
-
部署类型:请选择“滚动部署”
-
部署目标:点击“选择”按钮,在弹窗中选择云主机。支持三种选择过滤条件:高可用组、标签、IP。这里请选择在上一步中创建的云主机。
-
使用负载均衡:否
-
高级选项:保持默认选项,详见操作指南
填写部署组的基本信息后,请点击“新建”,完成部署应用的准备。
新建流水线
详细操作步骤如下:
-
点击创建选择快速创建。配置流水线名称,如pipeline-demo
-
配置源代码
阶段名默认为源代码,添加源代码操作。操作中选择阿里云-代码托管,选择示例代码JDCloud-Codebuild/hello-java。
- 配置构建。
阶段名默认为构建阶段,添加构建操作。
- 操作名称:构建操作
- 操作类型:构建
- 操作提供方:云编译
- 代码源:构建任务的源代码,选择上一步中创建的源代码操作。
- 任务:选择云编译中创建的编译任务,如ci-demo
- 手工确认:如选择手工确认,该操作会在用户点击确认后继续执行。
- 配置部署。
阶段名默认为部署阶段,添加部署操作。
- 操作名称:部署操作
- 操作类型:部署
- 操作提供方:云部署
- 部署来源:部署任务。目前仅支持构建类型为应用包的云编译任务。
- 部署应用:选择云部署中创建的部署任务,如cd-demo
- 部署组:选择云部署中创建的部署组
- 部署命令:提供部署命令,选择输入部署操作命令,在yaml中贴如下命令:
files:-source:/destination:/home/demohooks:ApplicationStart:-command:/home/demo/bin/start.shtimeout:10runas:rootpermisssions:[]env:{}
- 手工确认:如选择手工确认,该操作会在用户点击确认后继续执行。
保存并发布。
发布成功,以公网IP:8080访问发布的应用。