K8S+Docker+Nacos+Kafka+ES+Jenkins这套架构怎么搭?
Jenkins 是目前最常用的持续集成工具,拥有近50%的市场份额,他还是很多技术团队的第一个使用的自动化工具。由此可见他的重要性!
这份Jenkins宝典从入门介绍到结合Docker+SpringCloud+Kubernetes,打通一条龙技术讲解,简直不要太好用!
理论解析言简意赅,每一步操作都有图片展示。这么好的东西肯定不能私藏,我现在将这份笔记赠送给大家,祝大家前程似锦,Offer不断!
持续集成及Jenkins介绍

Jenkins安装和持续集成环境配置
- 持续集成流程说明
- Gitlab代码托管服务器安装
- 源码上传到Gitlab合库
- 持续集成环境(1)-Jenkins安装
- 持续集成环境(2)-Jenkins插件管理
- 持续集成环境(3)-Jenkins用户权限管理
- 持续集成环境(4)-Jenkins凭证管理
- 持续集成环境(5)-Maven安装和配置
- 持续集成环境(6)-Tomcat安装和配置

Jenkins构建Maven项目
- Jenkins项目构建类型(1)-Jenkins构建的项目类型介绍
- Jenkins项目构建类型(2)-自由风格项目构建
- Jenkins项目构建类型(3)-Maven项目构建
- Jenkins项目构建类型(4)-Pipeline流水线项目构建(*)
- Jenkins项目构建细节(1)-常用的构建触发器
- Jenkins项目构建细节(2)-Git hook自动触发构建(*)
- Jenkins项目构建细节(3)-Jenkins的参数化构建
- Jenkins项目构建细节(4)-配置邮箱服务器发送构建结果
- Jenkins+SonarQube代码审查(1)–安装SonarQube
- Jenkins+SonarQube代码审查(2)–实现代码审查

Jenkins+Docker+SpringCloud微服务持续集成(上)
- Jenkins+Docker+SpringCloud持续集成流程
- 说明SpringCloud微服务源码概述
- 本地部署(1)-SpringCloud微服务部署
- 本地部署(2)-前端静态web网站
- 环境准备(1)-Docker快速入门
- 环境准备(2)-Dockerfile镜像脚本快速入门
- 环境准备(3)-Harbor镜像仓库安装及使用
- 微服务持续集成(1)-项目代码上传到Gitlab
- 微服务持续集成(2)-从Gitlab拉取项目源码
- 微服务持续集成(3)-提交到SonarQube代码审查
- 微服务持续集成(4)-使用Dockerfile编译、生成镜像
- 微服务持续集成(5)-上传到Harbor镜像仓库
- 微服务持续集成(6)-拉取镜像和发布应用
- 微服务持续集成(7)-部署前端静态web网站

Jenkins+Docker+SpringCloud微服务持续集成(下)
- Jenkins+Docker+SpringCloud部署方案优化
- Jenkins+Docker+SpringCloud集群部署流程说明
- 修改所有微服务配置
- 设计Jenkins集群项目的构建参数
- 完成微服务构建镜像,上传私服
- 完成微服务多服务器远程发布
- Nginx+Zuul集群实现高可用网关

基于Kubernetes/K8S构建Jenkins持续集成平台(上)
- Jenkins的Master-Slave分布式构建
- Kubernetes实现Master-Slave分布式构建方案
- Kubernates+Docker+Jenkins持续集成架构图
- Kubernates+Docker+Jenkins持续集成方案好处
- Kubeadm安装Kubernetes
- Kubernetes的架构
- 安装环境说明
- kubectl常用命令

基于Kubernetes/K8S构建Jenkins持续集成平台(下)
- 安装和配置NFS
- 在Kubernetes安装Jenkins-Master
- Jenkins与Kubernetes整合
- 构建Jenkins-Slave自定义镜像
- 测试Jenkins-Slave是否可以创建
- Jenkins+Kubernetes+ Docker完成微服务持续集成

一直以来,领导都想解决代码提交和打包问题,尤其是小公司(因为大公司是必用的!),打包流程混乱,造成线上版本和代码库git或svn中代码不一致问题。加入Jenkins阵营,解决众多发包难题,显得刻不容缓!
实战内容
本次实战要体验Jenkins集群同时执行两个任务,都是编译构建GitHub上的热门开源项目:
- 在agent1上编译和构建spring-cloud-alibaba,再通过scp命令将构建结果传输到master电脑的/usr/local/build_result目录下;
- 在agent2编译和构建spring-framework,再通过scp命令将构建结果传输到master电脑的/usr/local/build_result目录下;
准备工作
要做以下准备工作才能顺利执行后续的任务:
- 在master电脑上创建文件夹/usr/local/build_result
- 配置maven,在Jenkins网页上选择Global Tool Configuration,如下图红框所示:
- 新增一个maven配置,名为mvn-3.6.2,然后点击保存按钮,如下图:
- agent1和agent2上用scp命令传输文件到master上的时候,第一次ssh要在控制台输入"yes",为了避免执行任务的时候出现这个等待输入的操作,我们去手动执行一遍,后面就再也不用了,ssh登录agent1之后,执行以下命令进入容器:
docker exec -it agent /bin/bash
-
Jenkins集群下的pipeline实战
关于Jenkins集群
-
下一篇
这就是在用 checkout 指令来从 gitlab 上拉取代码。 又比如下面在执行的 allure 指令, 是为了生成 allure 的测试报告。如下:
所以这样一看,我们实现一个 jenkins pipeline 其实就比较简单了, 在这样的流程框架下去使用一个又一个指令就可以完成我们的 pipeline 了, 当然这其中还有一些控制流程分歧和其他参数的指令,他们也很重要, 但我再这里就不在一一描述了。 可以移步官方文档:https://jenkins.io/doc/book/pipeline/shared-libraries/
当然 jenkins 上有那么多功能,那么多插件, 每一个插件对应一个指令,这么多指令学习起来太麻烦了。 所以 jenkins 也给我们开发了一个自动生成指令的工具。 如下:
如上, jenkins 会帮我们生成对应的指令代码。
shared library
软件测试持续集成的开源方案攻略(二)Jenkinspipeline
从Demo中学习