Docker-搭建部署Jenkins(保姆篇)

文章目录

更多相关内容可查看

Jenkins部署

拉取镜像

如果想拉取对应版本请指明版本号

bash 复制代码
docker pull jenkins/jenkins:lts-jdk11

启动容器

bash 复制代码
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /home/jenkins_data:/var/jenkins_home -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -u 0 --restart=on-failure:3 jenkins/jenkins

启动容器命令解释

1、-p 端口映射

jenkins容器内部有8080 与50000两个通讯端口,所以需要映射到宿主机上,这样才能正常访问

2、-v 数据卷挂载

我这里一共是挂载了三个,一个是jenkins工作存储位置/var/jenkins_home,所有插件 数据配置都在此目录下;另外两个挂载与docker有关,将我们宿主机的docker与jenkins连动起来,这样jenkins就不需要再额外下载docker插件即可实现devops容器化部署了。

3、-u 指定用户

因为Jenkins镜像内部使用的用户是jenkins,但是我们启动容器时的账号是root,导致没有权限操作内部目录,所以加上参数-u就能解决

-u :覆盖容器中内置的账号

0:root账号id

4、--restart 容器重启策略

--restart=on-failure 表示在容器非正常退出时尝试从新启动

--restart=on-failure:3 表示在容器非正常退出时尝试从新启动,最多重启三次

查看初始密码

图示所选为超管账号初始密码

bash 复制代码
docker logs -f 你自己的jenkins容器Id

关闭CSRF

根据上边宿主机挂载的jenkins工作目录,修改配置文件 /home/jenkins_data/config.xml

bash 复制代码
# 把<excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>  中的false改为true
  <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
    <excludeClientIPFromCrumb>true</excludeClientIPFromCrumb>
  </crumbIssuer>

Jenkins页面使用

解决插件下载缓慢

bash 复制代码
进入容器
docker exec -it jenkins /bin/bash


找到 default.json 文件
find / -name default.json

进入对应目录
cd /var/jenkins_home/updates

替换 default.json 中的内容
将 updates.jenkins-ci.org/download 替换为 mirrors.tuna.tsinghua.edu.cn/jenkins,
将 www.google.com 替换为 www.baidu.com

sed -i 's/www.google.com/www.baidu.com/g' default.json
sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

插件提速设置好后,需要重新启动jenkins容器

bash 复制代码
docker restart 你的jenkins容器ID

访问jenkins页面

输入宿主机ip:端口即可访问jenkins并输入上方获取的初始密码即可

推荐插件安装

新手一般根据推荐安装插件即可,避免了后续使用又要下载插件的问题,因为我们上边配置了插件提速,所以速度也还是非常快的(如果下载不下来也可以不用管先进性后续操作)

创建一个管理员账号

实例配置

服务器ip+端口

页面展示

本篇就到这里了,安装完只是开始,如果想要用jenkis进行自动打包或者部署,需要写一些脚本加配置,还需要根据自己的项目情况来自行解决。

相关推荐
Knight_AL20 分钟前
Docker 加载镜像时报 no space left on device 的彻底解决方案
docker·容器·eureka
nanixiaowai31 分钟前
Jmeter+ant+Jenkins 接口自动化框架-让jmeter脚本自己跑起来
jmeter·自动化·jenkins
喜欢你,还有大家7 小时前
Docker-仓库-镜像制作
运维·docker·容器
六件套是我8 小时前
redission实现延时队列
android·java·servlet
武子康9 小时前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j
测试老哥10 小时前
Jmeter+Maven+jenkins+eclipse 搭建自动化测试平台
自动化测试·软件测试·测试工具·jmeter·jenkins·maven·性能测试
计算机小手13 小时前
使用 llama.cpp 在本地高效运行大语言模型,支持 Docker 一键启动,兼容CPU与GPU
人工智能·经验分享·docker·语言模型·开源软件
岚天start13 小时前
KubeSphere在线安装单节点K8S集群
docker·容器·kubernetes·k8s·kubesphere·kubekey
栗子~~13 小时前
shell-基于k8s/docker管理容器、监控模型训练所消耗的最大CPU与最大内存脚本
docker·容器·kubernetes
半梦半醒*13 小时前
k8s——pod详解2
linux·运维·docker·容器·kubernetes·负载均衡