在centOS系统中使用docker部署Jenkins

1. 安装docker

1.1 下载Docker依赖组件

bash 复制代码
yum -y install yum-utils device-mapper-persistent-data lvm2

1.2 设置下载Docker的镜像源为阿里云

bash 复制代码
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3 安装Docker服务

bash 复制代码
yum -y install docker-ce

1.4 安装成功后,启动Docker并设置开机自启

bash 复制代码
# 启动Docker服务
systemctl start docker
# 设置开机自动启动
systemctl enable docker

1.5 测试安装成功

bash 复制代码
docker version

2. Docker-Compose安装

bash 复制代码
# 设置文件权限
chmod a+x docker-compose-linux-x86_64
# 移动到/usr/bin目录下,并重命名为docker-compose
mv docker-compose-linux-x86_64 /usr/bin/docker-compose

测试安装成功

bash 复制代码
docker-compose version

3. Jenkins安装

3.1 拉取Jenkins镜像

bash 复制代码
#拉取Jenkins镜像
docker pull jenkins/jenkins

#创建目录
mkdir -p /usr/local/docker/jenkins
#进入目录
cd /usr/local/docker/jenkins

3.2 编写docker-compose.yml

bash 复制代码
version: "3.1"
services:
  jenkins:
    image: jenkins/jenkins
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - ./data/:/var/jenkins_home/

3.3 运行docker-compose.yml

bash 复制代码
#在docker-compose.yml所在的文件夹下进行启动
docker-compose up -d

3.4 查看启动日志

bash 复制代码
docker logs -f jenkins

首次启动会因为数据卷data目录没有权限导致启动失败,设置data目录写权限

docker-compose.yml所在的文件夹下会有一个data文件

bash 复制代码
chmod -R a+w data/

重新启动

docker-compose restart

再次查看日志

docker logs -f jenkins

正常启动,里面还会有密码

ip:8080访问Jenkins页面,第一次要输入上面在日志中看到的密码

3.5 修改为国内镜像站

重新启动Jenkins容器后,由于Jenkins需要下载大量内容,但是由于默认下载地址下载速度较慢,需要重新设置下载地址为国内镜像站

bash 复制代码
# 修改数据卷中的hudson.model.UpdateCenter.xml文件
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>
# 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
  </site>
</sites>
# 清华大学的插件源也可以https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

再次重启Jenkins容器,访问Jenkins(需要稍微等会)

3.6 一些插件说明

查看密码登录Jenkins,并登录下载插件

docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

输入密码后,点击选择插件来按照,安装我们自己需要的插件

查看插件里有没有这些插件,换镜像源,下载应该就没有问题了,可以下载插件的

Git Parameter

Publish Over SSH

installed plugins 里面如果有以上插件,就可以从git拉取代码了

3.7 jdk

服务器上需要安装jdk和maven来编译打包代码

jdk自行下载,安装步骤可参考部署服务-1.安装jdk-CSDN博客

3.8 maven

maven 下载地址 Maven -- Download Apache Maven

wget https://dlcdn.apache.org/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz

tar -zxvf apache-maven-3.9.8-bin.tar.gz -C /usr/local

修改maven配置

国内的记得修改镜像地址,比如修改为阿里云的镜像地址,自行搜索吧

按照前面的步骤,data目录的位置位于/usr/local/docker/jenkins/data,将jdk和maven的文件夹移入到此目录

然后去Jenkins页面配置jdk和maven

写容器内的路径,写错了会有提示的,修改为jdk目录就好了

保存即可

3.9 配置ssh链接服务器

可以参考Jenkins ssh server 使用秘钥链接_jenkins 添加密钥-CSDN博客,或者其他方式都可,链接上就行

相关推荐
Hoper.J1 小时前
用两行命令快速搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),包含完整的 Docker 安装步骤
人工智能·深度学习·docker
Nue.js2 小时前
Docker中最常用的一些命令
docker·容器·eureka
醇氧4 小时前
ab (Apache Bench)的使用
linux·学习·centos·apache
basic_code4 小时前
Docker部署kafka集群
docker·容器·kafka
Z y..5 小时前
记:Docker部署kafka消费者注册不到问题
docker·容器·kafka
ly49835 小时前
docker--工作目录迁移
docker·容器·eureka
逃跑的羊6 小时前
jenkins提交gitee后自动部署
运维·gitee·jenkins
落非7 小时前
Ubuntu配置阿里云docker apt源
ubuntu·阿里云·docker
x2lab9 小时前
国产化 ARM 环境mysql-mariadb 部署
arm开发·mysql·docker·mariadb
mit6.82410 小时前
[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题
linux·运维·docker·容器·架构