Jenkins(超详细的Docker安装Jenkins教程!!!)

jenkins自动化部署

以下是通过 Docker 安装 Jenkins 并完成自动化部署的完整教程,包括安装前置的 JDK、Maven 等环境的详细步骤:


1. 准备环境

确保以下条件满足:

  • 操作系统为支持 Docker 的 Linux 系统(例如 Ubuntu)。

  • 已安装 Docker 和 Docker Compose。

# 更新软件包
sudo apt update && sudo apt upgrade -y
# 安装 Docker
sudo apt install -y docker.io
# 启动 Docker 服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 检查安装是否成功
docker --version
安装 Docker Compose:
sudo apt install -y docker-compose
docker-compose --version

2. 拉取 Jenkins 镜像

配置国内的docker镜像源 不然下载很忙,或者链接报错(我用的阿里云的docker镜像加速)

登录阿里云搜索容器镜像

 
sudo vim /etc/docker/daemon.json
写入下面镜像
{
  "registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}

在 Docker 中使用 Jenkins 官方镜像:

docker pull jenkins/jenkins:lts

3. 创建 Jenkins 容器

创建 Jenkins 容器并挂载本地目录,用于持久化数据和方便配置。

创建挂载目录

mkdir -p ~/jenkins_home
sudo chown 1000:1000 ~/jenkins_home

运行 Jenkins 容器

docker run -d -p 8080:8080 -p 50000:50000 \
  --name jenkins \
  -v ~/jenkins_home:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkins/jenkins:lts

解释

-p 8080:8080: 将 Jenkins 的默认 Web 端口映射到主机的 8080 端口。 前面参数是主机的 后面参数是docker内部容器的

-v ~/jenkins_home:/var/jenkins_home: 持久化 Jenkins 数据。 docker内部的/var/jenkins_home数据会持久化到主机的~/jenkins_home目录下面 后面打包后的jar文件也在这下面

-v /var/run/docker.sock:/var/run/docker.sock: 允许 Jenkins 控制主机的 Docker。

编辑Jenkins的插件下载地址,国外的下载太慢的,会导致很多插件下载失败

vim /var/jenkins_home/hudson.model.UpdateCenter.xml 
将 url 内容修改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(清华大学官方镜像)

4. 访问 Jenkins 并完成初始配置

打开 Jenkins 页面

访问 http://<主机IP>:8080

进入容器内部 查询初始化密码

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
exit 退出容器内部

安装推荐插件

根据提示安装推荐的插件,并创建管理员账户。

如果某一些插件安装失败了,就重试一下。

初始化管理员密码

进入主页


5. 安装 JDK 和 Maven

在 Jenkins 容器中安装 JDK 和 Maven,以便用于构建项目。

进入容器

docker exec -u root -it jenkins bash

安装 JDK

  1. 更新包管理器:

  2. apt update
  3. 安装 OpenJDK(以 Java 17 为例):

  4. apt install -y openjdk-17-jdk
  5. 验证安装:

  6. java -version

安装 Maven

  1. 下载并解压 Maven:

  2. apt install -y wget
    wget https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
    tar -xzvf apache-maven-3.8.8-bin.tar.gz -C /opt/
    mv /opt/apache-maven-3.8.8 /opt/maven
    编辑settings.xml  里面的mirror标签的maven镜像地址为阿里云的
    vim  /opt/maven/conf/settings.xml
     <mirror>
          <id>nexus-aliyun</id>
          <name>Nexus aliyun</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>
      </mirror>
    ​
  3. 配置环境变量:

  4. echo "export M2_HOME=/opt/maven" >> ~/.bashrc
    echo "export PATH=\$M2_HOME/bin:\$PATH" >> ~/.bashrc
    source ~/.bashrc
  5. 验证安装:

  6. mvn -version

退出容器:

exit

安装git

  1. apt安装git

  2. apt install git

6. jenkins配置jdk,maven,git路径

1. 登录 Jenkins 管理界面

  1. 打开 Jenkins 的管理页面。

  2. 依次进入 "Manage Jenkins" > "Global Tool Configuration"

2. 配置 JDK

JDK Installations 部分:

  1. 点击 "Add JDK"

  2. 填写以下内容:

    • Name:例如 OpenJDK.

    • JAVA_HOME:填写你的 Java 路径 /opt/java/openjdk

  3. 确保未勾选 "Install automatically",因为路径已经指定

3. 配置 Maven

Maven Installations 部分:

  1. 点击 "Add Maven"

  2. 填写以下内容:

    • Name:例如 Maven 3.9.9

    • MAVEN_HOME:填写你的 Maven 路径 /opt/maven

  3. 同样,确保未勾选 "Install automatically"

4. 配置 Git

Git 工具部分:

  1. 如果有现成的 Git 配置,确认路径是否正确。

  2. 如果没有:

    • 点击 "Add Git"

    • 填写以下内容:

      • Name:例如 Default Git

      • Path to Git executable:填写 /usr/bin/git

7. 配置Jenkins密钥

docker exec -u root -it jenkins bash
cd /root/.ssh/
# 执行生成秘钥,输入后一路回车
ssh-keygen -t rsa -C "root"
# 公钥,放git仓库里面
cat id_rsa.pub 
# 私钥,放jenkins里面
cat id_rsa
 

输入用户名和 私钥id_rsa复制进去

第二种方式 用户名和密码

8. 配置项目,自动构建

新建maven项目

配置git地址 以及验证方式保存就行

构建测试

控制台输出

最后输出 Finished: SUCCESS 表示构建成功,也会显示jar在docker里面的位置,同样会在主机的映射目录里面

9.结语

现在构建好以后,就可以通过写一个shell脚本直接启动,或者通过其他方式自动部署

安装插件后可能有些报红,或者更新,注意看提示,安装所需的插件

jenkins 配置git 提示“无法连接仓库 这个就是秘钥和 用户名密码,或者仓库地址的问题
DockerJenkins 都是企业级软件开发中常用的工具,它们可以协同工作,提高持续集成和容器化应用的效率。 1. **Docker**:Docker是一个开源的应用容器引擎,它允许你在一台机器上创建并运行多个隔离的、自包含的“容器”,每个容器都有自己的运行环境,包括操作系统、库、依赖等,使得应用程序可以在任何支持Docker的平台上一致地运行。 2. **Jenkins**: Jenkins 是一个开源的持续集成服务器,用于自动化构建、测试和部署软件项目。它提供了一个Web界面,让你可以配置各种构建步骤,并能够监控项目的进度。 **安装部署流程**(简述): - **安装Docker**:Windows用户可以下载Docker Desktop;Linux用户通常通过包管理器如apt-get或yum安装;macOS用户也可以通过Homebrew安装。 - **设置Docker服务**:启动Docker服务并确保其运行在后台。在某些系统上需要添加用户到docker组或运行命令时指定sudo权限。 - **安装Jenkins**:你可以从Jenkins官网下载war文件并通过HTTP或HTTPS协议将其部署到Web服务器(例如Apache或Nginx),然后在浏览器中访问Jenkins的初始化页面开始安装过程。 - **配置Jenkins**:填写必要的信息,比如管理员用户名和密码,选择Jenkins仓库源(如果你打算从远程Git仓库拉取项目)。 - **关联Docker插件**:在Jenkins管理界面,找到插件管理器,搜索并安装Docker Pipeline或Docker Build插件。 - **创建Dockerfile Jenkinsfile**:为了利用Docker,你需要编写Dockerfile来定义镜像,以及Jenkinsfile来定义持续集成的工作流。 - **设置构建作业**:在Jenkins中创建新的自由风格项目或Pipeline项目,配置好源码管理(Git、SVN等)、构建阶段(Docker build、测试等)和部署选项。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值