构建与部署流水线实战
在构建和部署应用程序时,拥有一个高效且可靠的流水线至关重要。本文将详细介绍如何搭建一个完整的构建与部署流水线,以及其中涉及的各项技术和工具。
1. 构建与部署流水线所需技术
要实现一个完整的构建与部署流水线,需要使用多种技术和工具,以下是具体介绍:
| 技术/工具 | 描述 |
| — | — |
| GitHub | 作为源代码仓库,存储所有应用程序代码。选择 GitHub 的原因有两个:一是无需自行管理和维护 Git 源代码控制服务器;二是 GitHub 提供了丰富的 Web 钩子和强大的基于 REST 的 API,便于集成到构建过程中。 |
| Travis CI | 用于构建和部署 EagleEye 微服务,并创建要部署的 Docker 镜像。它是一个基于云的、基于文件的持续集成引擎,易于设置,且与 GitHub 和 Docker 有很强的集成能力。 |
| Maven/Spotify Docker 插件 | 使用普通的 Maven 来编译、测试和打包 Java 代码,同时使用 Spotify 的 Docker 插件,可直接在 Maven 中启动 Docker 构建。 |
| Docker | 作为容器平台,具有两个优点:一是可在多个云提供商之间移植,能将相同的 Docker 容器部署到 AWS、Azure 或 Cloud Foundry;二是轻量级,便于在本地桌面部署多个容器。 |
| Docker Hub | 服务构建完成并创建 Docker 镜像后,将镜像标记一个唯一标识符并推送到 Docker Hub,它是 Docker 公司的公共镜像仓库。 |
| Python | 用于编写平台测