天天看点

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

CICD整个流程:

  1. idea修改工程后push到gitlab >> gitlab通过webhook通知jenkins工程有改变 >>jenkins到gitlab取最新工程 。
  2. jenkins 自动 maven (构建、单元测试)工程。
  3. jenkins完成容器构建 docker images >> push到docker hub私有镜像仓库并自动化运行容器应用。
  4. 通过Kubernetes到Harbor私有镜像仓库拉取镜像,自动化编排服务,运行微服务容器应用。(下一章节)。

一、通过GitLab的webhook与Jenkins 连通。

一个比较典型的微服务应用 这里只强调应用中的两个比较重要的文件 一个是Dockerfile 另外一个是build.sh。

接下来是idea 修改工程 功能后push到gitlab之后。

1、jenkins 创建一个新任务

任务名称跟Gitlab 工程目录下的其中一个微服务模块名称对应,选择流水线 ,点确定。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

2、在任务详情的 “构建触发器” ,勾选 “触发远程构建” ,输入身份验证令牌(自定义)

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

复制/job/register-center/build?token=123456 到Gitlab 工程下的Integrations 右边 URL中,

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

点击 Add webhook 生成一条 webhook 记录 。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

3、jenkins进入系统设置>全局安全配置 不选择 跨站请求伪造保护下的“防止跨站点请求伪造”,勾选 授权策略下的 “匿名用户具有可读权限” 点保存。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

4、在Gitlab的webhook 点击 test >push events 测试是否与jenkins连通。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

如果页面上方出现 Hook executed successfully: HTTP 201 提示,表示已连通。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

在jenkins 查看对应的 控制台输出 Finished: SUCCESS 。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

二、jenkins maven 自动(构建、单元测试)

1、jenkins进入任务详情的 “流水线”Pipeline 脚本编写,点击 “流水线语法”进入,查看语法。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

步骤>示例步骤 选择 Git

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

从GitLab 获取工程的git 地址到 复制到 Repository URL 然后点击 “生成流水线脚本”,复制到流水线的脚本中

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后
idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

编写自动获取代码、自动编译、单元测试 脚本 ,保存返回,点立即构建 ,进入自动构建。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

查看jenkins首页 可以看到工程状态信息,进入控制台查看日志,如出现 BUILD SUCCESS 表示 自动获取代码、自动编译成功。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

三、jenkins构建镜像 (docker images)push到docker 私有镜像仓库并自动化运行容器应用。

1、新建脚本路径与构建镜像脚本文件,编写脚本

cd /usr/local

mkdir build_script

cd build_script

vi build-images.sh

chmod 775 build-images.sh

编写脚本

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

应用docker镜像构建、推送私有镜像仓库、运行镜像生成容器

2、在jenkins流水线的脚本中添加build-images.sh执行步骤

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

3、在idea修改微服务工程代码后push到gitlab,查看jenkins控制台输出及返回项目主页,如出现下图表示整理流程没问题了。

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后
idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

4、在服务器上通过docker命令查看镜像 可以发现已经构建成镜像了

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

docker images

查看是否在运行:

idea docker push 很慢_Jenkins+Docker+Gitlab+Kubernetes 完成容器化微服务自动化部署继使用Docker搭建Gitlab、使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境后

docker ps -a

已实现自动化构建容器应用,通过Kubernetes到Harbor私有镜像仓库拉取镜像,自动化编排服务,运行微服务容器应用。(下一计划)

继续阅读