jenkins持续集成

您所在的位置:网站首页 docker安装jenkins无法访问 jenkins持续集成

jenkins持续集成

2024-07-10 23:29:30| 来源: 网络整理| 查看: 265

一、jenkins简介 1.1Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。 Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。 CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。 在这里插入图片描述 1.2CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。 在这里插入图片描述 二、jenkins安装与配置

软件下载:https://jenkins.io/zh/download/ 国内镜像站:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ 安装jenkins:(主机需要能上网) rpm -ivh jdk-8u171-linux-x64.rpm rpm -ivh jenkins-2.225-1.1.noarch.rpm systemctl start jenkins 启动服务 访问: http://172.25.254.5:8080 使用初始密码登录:cat /var/lib/jenkins/secrets/initialAdminPassword 安装默认插件即可,使用admin用户,登录后修改密码。

在这里插入图片描述

[root@server5 jenkins]# netstat -tnpl | grep 8080 tcp6 0 0 :::8080 :::* LISTEN 9343/java

2.1更新插件源:

vim /var/lib/jenkins/hudson.model.UpdateCenter.xml default 指定清华下载站下载地址 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json cd /var/lib/jenkins/updates:登录成功之后会生成 updates目录里面有两个文件, [root@server5 jenkins]# cd updates/ [root@server5 updates]# ls default.json hudson.tasks.Maven.MavenInstaller 指定清华下载站下载地址 sed -i.bak 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json [root@server5 updates]# systemctl restart jenkins.service [root@server5 jenkins]# cat /var/lib/jenkins/secrets/initialAdminPassword 68e9bae9fdff4de58632a773c74941eb

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 更改密码:点击admin用户(右下角)+点击设置更改密码。 2.2新建一个自由风格任务: 在这里插入图片描述 在Gitlab上复制链接ssh克隆 在这里插入图片描述 进入源码管理粘贴刚才在gitlab上的克隆连接 在这里插入图片描述

在jenkins上添加server4(gtidlab)上的生成的私钥(/root/.ssh/id_rsa) 在这里插入图片描述

上面添加完私钥后还是在报错:Jenkins是通过git工具来操作GitHub仓库的,也是需要安装git工具的

[root@server5 ~]# yum install -y git

在这里插入图片描述 在这里插入图片描述 构建执行shell后保存 在这里插入图片描述

在这里插入图片描述 在这里插入图片描述 在server5主机上:

[root@ser[root@server5 ~]# cd /var/lib/jenkins/workspace/demo 进入目录查看 [root@server5 demo]# ls -l 已经把gitlab仓库的文件克隆成功 total 8 -rw-r--r-- 1 jenkins jenkins 15 Jun 16 00:05 index.html -rw-r--r-- 1 jenkins jenkins 8 Jun 16 00:05 README.md

三、docker容器制作构建 server4/5都要装docker

进入:/etc/sysctl.d scp /etc/sysctl.d/bridge.conf server5:/etc/sysctl.d/ cat bridge.conf 查看内容 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 刷新 sysctl --system docker info 查看

安装docker插件 在这里插入图片描述 在这里插入图片描述点击安装插件

在server5(jenkins)上获取两个软件一个私有仓库(registry)和myapp 并且倒入仓库上传

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 运行仓库并端口映射搭配5000 在这里插入图片描述

在这里插入图片描述 myapp有两个包一个v1/v2 在这里插入图片描述 在这里插入图片描述

[root@server5 ~]# curl localhost:5000/v2/_catalog myapp已经上传 {"repositories":["myapp"]} 修改docker.sock权限,不然jenkins无法直接执行docker命令: # chmod 777 /var/run/docker.sock [root@server5 run]# pwd /var/run [root@server5 run]# ll docker.sock srw-rw---- 1 root docker 0 Jun 18 11:16 docker.sock [root@server5 run]# chmod 777 docker.sock [root@server5 run]# ll docker.sock srwxrwxrwx 1 root docker 0 Jun 18 11:16 docker.sock

接着在jenkins图形界面中设置 Jenkins自动构建docker镜像,并上传至仓库 以下设置是在本地拉取镜像,所以不需要证书

在这里插入图片描述 此选项表示镜像拉取镜像成功后。但不直接上传到仓库中 在这里插入图片描述 点击立即构建

在这里插入图片描述 在这里插入图片描述

查看镜像拉取成功 docker images localhost:5000/myweb 12 4b6fd035429e 2 minutes ago 109MB localhost:5000/myweb latest 4b6fd035429e 2 minutes ago 109MB

在这里插入图片描述 接下来我们取消Skip push选项,使该镜像自动上传到私有仓库

在这里插入图片描述 进行测试 首先进行默认配置文件的更改

[root@server4 demo]# cat Ddockerfile 编写dockerfile FROM nginx COPY index.html /usr/share/nginx/html

在这里插入图片描述 更改完配置文件后,推送到gitlab仓库中 在这里插入图片描述 在浏览器查看文件内容已经更改 在这里插入图片描述 再在jenkins上点击立即构建,注意首先检查5000端口是否开放,私有仓库一定要开启 在这里插入图片描述

[root@server5 ~]# curl localhost:5000/v2/_catalog 镜像上传成功 {"repositories":["myapp","myweb"]}

当前镜像已经成功上传,接下来检测下上传的镜像到底有没有问题 1.新建一个任务 在这里插入图片描述 源码管理选择无 在这里插入图片描述 只有当demo完成构建才会触发jenkins才会上传并部署镜像 在这里插入图片描述 进行权限下放

[root@server5 ~]# visudo jenkins ALL=(ALL) NOPASSWD: ALL

在这里插入图片描述 docker任务显示的是无,手动点击最右边的开始构建

在这里插入图片描述 点击一次,多了会产生错误输出,然后查看构建历史 在这里插入图片描述 查看IP并访问

[root@server5 ~]# docker inspect webserver

在这里插入图片描述 进行优化 :当有相同的镜像在运行时先删除运行的在做部署

sudo docker ps -a | grep webserver && sudo docker rm -f webserver 查看当前运行的镜像 ,过滤webserver容器,然后删除此容器, sleep 1 休息1s等待完全删除 sudo docker run -d --name webserver -p 80:80 localhost:5000/myweb 执行新容器的运行部署。端口映射80端口,可以直接访问80端口

在这里插入图片描述 在这里插入图片描述 访问测试 在这里插入图片描述 一个完整的测试: 在gitlab上更改默认页面文件内容

在这里插入图片描述 在这里插入图片描述 server5(jenkins)测试如下: 当更改配置文件被推送到gitlab的demo上,会自动出发jenkins 自动重新拉取镜像部署 直接访问,不用过多操作 在这里插入图片描述

Jenkins的主要实验环境

server1 172.25.254.1 harbor仓库 server2 172.25.254.2 远程主机测试(docker交付) server3 172.25.254.3 ansible server4 172.25.254.4 gitlab server5 172.25.254.5 jenkins server6 172.25.254.6 Jenkins+absible 的测试环境


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭