gitlab+jenkins
一、jenkins
文章图片
1.1使用两个项目完成构建等和测试
文章图片
新建两个项目:test构建等操作,docker_project测试
文章图片
流程:
步骤1、
test项目中:用户通过git把本地代码(eg:创建nginx镜像)上传到gitlab中,(设置触发方式为gitlab代码中改变或者执行则jenkins开始执行)gitlab触发jenkins来执行项目test,构建镜像,并且把镜像上传到harbor本地仓库中
步骤2、
设置test项目完成后触发执行docker_project项目进行测试,在server4上执行,从harbor中拉取nginx镜像,运行容器。
【linux|jenkins】实验
实验1:server2上安装gitlab,server3上安装jenkins和依赖,docker用来做构建和测试
实验2:server2上安装gitlab,server3上安装jenkins和依赖用来做构建,server4上安装的docker用来测试,
实验3:把jenkins构建和管理分开
server2上安装gitlab,server3上安装jenkins和依赖用来管理,server5上只安装java-openjdk(jenkins的依赖包)和docker用来构建,server4上安装的docker用来测试,
1.2使用流水线pipeline,一个pipeline项目解决问题
文章图片
pipeline+dingding群报警
文章图片
二、jenkins+ansible
ansible:是自动化运维工具,集合了众多运维工具,实现了批量系统配置、批量程序部署、批量运行命令等功能。
创建普通项目playbook,使用shell手动构建,不设置触发构建
下面deploy是变量可选test和prod
图1:
文章图片
图2:
文章图片
图3:
test和prod内容如下:test的值是172.25.254.4;
prod的值是172.25.254.5
文章图片
图4:
playbook.yml文件
template:把index.html.j2内容写到httpd的发布页/var/www/html/index.html中
文章图片
其中index.html.j2的内容为{{ ansible_hostname }};
当deploy选择test时,是172.25.254.4的hostname值即server4。选择prod时值为server5
图5:
文章图片
手动构建deploy图5选择左边Build with Parameters,接着选择test构建时,对应的值为172.25.254.4,执行playbook.yml,在172.25.254.4(server4虚拟机)上安装httpd,在其/www/html/index.html中写入(deploy=test)时的index.html.j2值,即server4,运行httpd。curl 172.25.254.4时输出为/www/html/index.html发布页的值,即server4
文章图片
同理,deploy选择prod构建时,对应的值为172.25.254.5,执行playbook.yml,在172.25.254.5(server5虚拟机)上安装httpd,在其/www/html/index.html中写入(deploy=prod)时的index.html.j2值,即server5,运行httpd。curl 172.25.254.5时输出为/www/html/index.html发布页的值,即server5
文章图片
推荐阅读
- linux|在安装Docker-ce的时候遇到报错
- 笔记|Linux笔记4(软件包管理,Shell编程)
- 笔记|Linux笔记2(帮助命令,文件目录类,时间日期类)
- 笔记|Linux笔记3(用户权限类,搜索查找类,压缩解压类,磁盘管理类,进程管理类,系统定时任务)
- linux|HTTP 协议详解 —— URI、HTTP protocol、HTTP headers
- linux|linux 以太坊环境搭建,linux/ubuntu以太坊开发环境搭建
- Linux系统遨游|Ubuntu20.04工具篇 | 搜狗输入法安装
- zabbix|Zabbix之企业微信告警
- Zabbix|Zabbix5.0配置微信单用户告警