概念
服务治理遇到的问题
- 在微服务项目中每个服务都是独立运行的项目
- 不可能对每个项目进行手动部署,涉及到自动化运维的问题
持续集成
使用GitLab持续集成
- GitLab8.0以后,GitLab CI就已经集成在GitL中,只要在项目中添加一个 .gitlab-ci.yml文件,然后添加一个Runner,就可以进行持续集成
Pipeline
- Pipeline: 管道 ,一次Pipeline相当于一次构建任务,可以包含多个流程:安装依赖,运行测试,编译,部署测试服务器,部署生产服务器等流程
- 任何提交或者Merge Request的合并都可以触发Pipeline
Stages
Jobs
持续交付
持续部署
- 持续部署(Continuous Deployment)是持续交付的下一步,指的是代码通过评审后,自动部署到生产环境
- 持续部署的目标: 代码在任何时刻都是可部署的,可进入生产阶段
- 持续部署的前提: 自动化完成测试,构建,部署等步骤
GitLab Runner
GitLab CI
- 一般来说,构建任务会占用很多的系统资源(编译代码时),由于GitLab CI是GitLab的一部分,由GitLab CI来运行构建任务的化,GitLab的性能会大大下降
- GitLab CI最大的作用: 是管理各个项目的构建状态
GitLab Runner
- GitLab Runner可以安装到不同的机器上,在构建任务运行期间不会影响GitL的性能
- 基于Docker安装GitLab Runner:
1.创建工作目录: /usr/local/docker/runner
2.创建构建目录: /usr/local/docker/runner/environment
3.下载jdk-8u152-linux-x64.tar.gz复制到/usr/local/docker/runner/environment
4.下载apache-maven-3.5.3-bin.tar.gz复制到/usr/local/docker/runner/environment
daemon.json
1.在/usr/local/docker/runner/environment目录下创建daemon.json,用于配置加速器和仓库地址
{
"registry-mirrors":[
"https://registry.docker-cn.com"
],
"insecure-registries":[
"127.0.0.1:5000"
]
}