dockerfile构建jenkins流水线

本文介绍了在CentOS7.9环境下,如何通过Dockerfile来构建Jenkins流水线。首先介绍了所需环境和安装包,接着详细讲述了安装Docker的步骤,然后讲解了如何上传软件包,编写Dockerfile并生成镜像,最后通过一系列操作启动Jenkins并创建用户。文章最后提到后续会更新更全面的一次性构建方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0、环境介绍

操作系统:centos7.9
容器也是:centos7.9(centos8停止运维,需要考虑yum源的问题,下期将会在centos8 stream或者是centos9 stream上进行操作更新)
在这里插入图片描述
需要的安装包
jdk-8u333-linux-x64.rpm
jenkins.war
此次搭建的资源下载连接:https://download.youkuaiyun.com/download/weixin_44663310/85853425
在这里插入图片描述

详细实现步骤:

1、安装docker

1.1 修改主机名

bash   hostnamectl set-hostname jenkins  &&  bash

1.2 关于防火墙、selinux、firewalld

systemctl stop firewalld && systemctl disable firewalld

yum install iptables-services -y
 
service iptables stop   && systemctl disable iptables

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

如果是存在安全组,也是需要放行8080端口的

1.3 安装基础依赖包

yum install -y  wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack 

1.4 添加阿里云的docker的镜像源repo

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.5安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2

yum install docker-ce -y

启动
systemctl start docker && systemctl enable docker

2、上传软件包到文件目录

在这里插入图片描述

3.、编写dockerfile并生成镜像

3.1 编写dockerfile

vim dockerfile
FROM  centos:centos7.9.2009
MAINTAINER love_in_life@163.com
COPY jdk-8u333-linux-x64.rpm /usr/local
COPY jenkins.war /usr/local
RUN rpm -ivh /usr/local/jdk-8u333-linux-x64.rpm
RUN java -jar /usr/local/jenkins.war &
EXPOSE 8080

保存退出
3.2 构建镜像

docker build -t="jenkins:v3" .

在这里插入图片描述

3.3 运行生成的镜像

docker run --name test1 -itd -p 8080:8080 jenkins:v3 /bin/bash

3.4 进入镜像

docker exec -it 1a4acb5254cf /bin/bash

3.5 启动jenkins

nohup java -jar /usr/local/jenkins.war &

3.6 在web界面访问外网IP
在这里插入图片描述

3.7 进入容器查看密码

[root@6b242109cef9 /]# cat /root/.jenkins/secrets/initialAdminPassword
a04b110787af473788d731209058567b

3.8 选择默认插件安装
在这里插入图片描述
等待插件安装完成
在这里插入图片描述
3.9 创建用户没密码
在这里插入图片描述
3.10 保存并完成
在这里插入图片描述

在这里插入图片描述

3.11 成功登录
在这里插入图片描述
注:后续更新dockerfile一次型构建jenkins的基础环境(jenkins+maver+git+java)+开机自启,脚本一键部署
ok,今天的分享就到这里,如果有任何疑问,欢迎评论,感谢大家!

### 如何使用 Jenkins 通过 Dockerfile 构建 Docker 镜像 #### 准备工作 为了实现 Jenkins 使用 Dockerfile 构建镜像的功能,需要先配置好环境并确保 Docker 已经正常运行。可以通过命令 `docker info` 来验证 Docker 是否已经成功安装以及其根目录位置[^2]。 #### 创建 Dockerfile 文件 创建一个名为 `Dockerfile` 的文件,在其中定义所需的容器化应用的基础镜像和其他必要设置。例如: ```Dockerfile # 定义基础镜像 FROM jenkins/jenkins:lts # 设置用户权限以便后续操作顺利执行 USER root # 更新包管理器索引并安装必要的工具 RUN apt-get update && \ apt-get install -y git && \ rm -rf /var/lib/apt/lists/* # 复制自定义脚本到容器内部(如果有的话) COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/ # 切换回默认的 Jenkins 用户来保持安全性 USER jenkins ``` 上述例子展示了如何基于官方 LTS 版本的 Jenkins 镜像构建一个新的定制化的 Jenkins 镜像[^3]。 #### 在 Jenkins 中配置 Pipeline 或 Job 在 Jenkins 上新建一个多分支流水线项目或者自由风格软件项目,并添加构建阶段用于处理 Docker 镜像制作过程。可以采用如下 Groovy 脚本来自动化整个流程: ```groovy pipeline { agent any stages { stage('Build') { steps{ script{ sh 'docker build -t my-jenkins-image .' } } } stage('Test'){...} stage('Deploy'){...} } post {...} } ``` 此脚本中的核心部分就是调用了 `docker build` 命令去依据当前路径下的 Dockerfile 打造新的镜像标签为 `my-jenkins-image`[^1]。 #### 测试与部署新镜像 完成以上步骤之后,就可以触发该 job 并观察控制台输出确认是否一切按预期进行。一旦构建成功,则可以在本地或者其他远程服务器上拉取这个最新版本的镜像来进行测试或正式上线前准备活动。 ```bash docker pull <your-repo>/my-jenkins-image:latest docker run --name custom_jenkins -p 8080:8080 -p 50000:50000 -d <your-repo>/my-jenkins-image:latest ``` 这样就完成了从零开始利用 JenkinsDockerfile 自动化生成专属 Docker 镜像的过程[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xdxghy0921

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值