返回
CI/CD 进程:基于阿里云容器镜像的 Travis+Docker
见解分享
2023-11-12 20:12:30
最近了解了一番持续集成、持续交付、持续部署相关。个人对此的相关理解也再说下。关于jenkins和travis,jenkins是我个人比较推荐的,因为它生态好、插件环境强、历史悠久、稳定;而travis也不赖,不过就生态环境而言,travis相对逊色不少。
持续部署作为CICD最后一步,也是最常用的一步。而阿里的容器镜像也是相当香,不比docker国内注册速度慢,关键是下载速度那叫一个溜。更香的是还能结合阿里云的服务器,产生超级丝滑的使用体验。
话不多说,直入主题:
1. 前提准备
- 一个 Travis CI 账户
- 一个 Docker 账户
- 一个阿里云账户
- 一个能够运行 Docker 容器的服务器(可以使用阿里云 ECS)
2. 配置 Travis CI
- 登录 Travis CI 账户,并创建新的仓库。
- 在仓库设置页面,找到“构建”选项卡,然后点击“启用构建”。
- 在“构建脚本”字段中,输入以下内容:
docker build -t my-image .
docker push my-image:latest
- 在“构建触发器”字段中,输入以下内容:
branch: master
这将告诉 Travis CI 在每次向 master
分支推送代码时构建和推送 Docker 镜像。
3. 配置 Docker
- 登录 Docker 账户,并创建新的仓库。
- 在仓库设置页面,找到“构建”选项卡,然后点击“启用构建”。
- 在“构建脚本”字段中,输入以下内容:
docker pull my-image:latest
docker run -d --name my-container my-image:latest
这将告诉 Docker 在每次向仓库推送新的 Docker 镜像时,将其拉取并运行一个容器。
4. 配置阿里云容器镜像
- 登录阿里云账户,并创建新的仓库。
- 在仓库设置页面,找到“构建”选项卡,然后点击“启用构建”。
- 在“构建脚本”字段中,输入以下内容:
docker pull my-image:latest
docker run -d --name my-container my-image:latest
这将告诉阿里云容器镜像在每次向仓库推送新的 Docker 镜像时,将其拉取并运行一个容器。
5. 测试持续部署
- 在本地计算机上,克隆您的仓库。
- 对代码进行一些更改。
- 将更改推送到远程仓库。
- Travis CI 将自动构建和推送 Docker 镜像。
- Docker 将自动拉取并运行新的 Docker 镜像。
- 访问您的应用程序,并验证更改是否已部署。
6. 结论
通过使用 Travis CI、Docker 和阿里云容器镜像,您可以构建一个CI/CD 进程,该进程可以自动化软件开发和部署过程。这种方法可以提高开发效率和软件质量。