创建持续集成主要包含以下三个步骤:
- 安装和配置Jenkins
- [url=https://help.aliyun.com/document_detail/55479.html?spm=5176.doc55469.6.651.MLNJyo#配置Gitlab的Web Hook,实现自动构建]配置Gitlab的Web Hook,实现自动构建[/url]
- [url=https://help.aliyun.com/document_detail/55479.html?spm=5176.doc55469.6.651.MLNJyo#调用 EDAS Open API 进行部署]调用 EDAS Open API 进行部署[/url]
安装和配置Jenkins
安装 Jenkins。
安装Jenkins,请参考 Jenkins。 如已安装则请忽略此步。
在 Jenkins 服务器安装 Python 运行环境(仅支持2.7及以上版本,不支持 Python3)。
安装 Python,请参考 Python。 如已安装请忽略此步。
在 Jenkins 中安装 Git 和 GitLab 插件。
在 Jenkins 控制台的菜单栏中选择 [backcolor=transparent]系统管理 > [backcolor=transparent]插件管理,安装插件。
安装 GIT Client Plugin 和 GIT Plugin 插件可以帮助 Jenkins 拉取 Git 仓库中的代码。
安装 Gitlab Hook Plugin 插件可以帮助Jenkins在收到Gitlab发来的Hook后触发一次构建。
“apps”配置项中可以配置多个应用,上图配置了两个应用,第一个为 Docker 应用 WAR 包部署方式,第二个为 Docker 应用镜像部署方式,各配置项的含义及获取方式如下:
- appName:应用名称,准备工作中创建,通过 EDAS 控制台可以取到。
- appId:应用 ID,准备工作中创建,通过 EDAS 控制台可以取到。
- userId;您登录阿里云的用户 ID。
- type:部署方式类型。upload 为 WAR 包部署,image 为镜像部署。
- target:Maven 编译后打出来的 WAR 的本地路径,WAR 部署不能为空。
- imageUrl:镜像地址。image部署时,不能为空。
- packageVersion:部署包的版本号。
- description:描述信息。
- deployToStr:应用分组 ID。 为”all”时,代表该应用所有应用实例。
- regionId:区域 ID,应用所在的区域ID。
配置正确后,提交变更到 GitLab。
如果上述步骤配置正确,这次提交会触发一次 GitLab Hook。 Jenkins 在接受到这个 Hook 后会构建您的 Maven 项目,并在构建结束时调用 Open API 触发部署。
说明:如为 Docker 镜像部署方式,配置完成后,可手动触发 jenkins 项目。