Jenkins简介及Docker Compose部署

简介: Jenkins是一个开源的自动化服务器,用于自动化构建、测试和部署软件项目。它提供了丰富的插件生态系统,支持各种编程语言和工具,使得软件开发流程更加高效和可靠。在本文中,我们将介绍Jenkins的基本概念,并展示如何使用Docker Compose轻松部署Jenkins服务。

Jenkins是一个开源的自动化服务器,用于自动化构建、测试和部署软件项目。它提供了丰富的插件生态系统,支持各种编程语言和工具,使得软件开发流程更加高效和可靠。在本文中,我们将介绍Jenkins的基本概念,并展示如何使用Docker Compose轻松部署Jenkins服务。

jenkins.jpg

Jenkins简介

Jenkins的主要功能包括:

  • 持续集成(CI): Jenkins通过定期检查版本控制系统中的变更,触发构建和测试过程,以确保代码的稳定性。

  • 持续交付(CD): Jenkins支持自动化部署,使得软件的交付过程更加可靠和可重复。

  • 插件生态系统: Jenkins拥有庞大而活跃的插件生态系统,涵盖了几乎所有现代软件开发中可能用到的工具和技术。

  • 易扩展性: Jenkins采用Java编写,易于扩展和定制,可以满足各种复杂的构建和部署需求。

Docker Compose部署Jenkins

步骤一:构建镜像

我在此处是直接在镜像jenkinsci/jenkins:latest的基础上配置了自己使用版本的java、node、maven,也可以直接使用原镜像,然后在Jenkins的页面上进行插件配置下载。

Dockerfile

# 基础镜像
FROM jenkinsci/jenkins:latest

# 维护者信息
MAINTAINER "xj"

# 镜像用户
USER root

# 拷贝NODE安装文件到容器
ADD ./node-v14.16.0-linux-x64.tar.gz /home

#配置node
RUN mv /home/node-v14.16.0-linux-x64 /home/node \
  && ln -s /home/node/bin/node /usr/bin/node \
  && ln -s /home/node/bin/npm /usr/bin/npm

# 拷贝MAVEN安装文件到容器
ADD ./apache-maven-3.8.1-bin.tar.gz /home
RUN mv /home/apache-maven-3.8.1 /home/maven \
  && mkdir /home/maven/repository \
  && rm /home/maven/conf/settings.xml
ADD ./settings.xml /home/maven/conf/settings.xml

#配置maven
RUN ln -s /home/maven/bin/mvn /usr/bin/mvn

# 拷贝jdk安装文件到容器
ADD ./jdk-8u361-linux-x64.tar.gz /home
# 配置jdk
RUN mv /home/jdk1.8.0_361 /home/jdk \
  && ln -snf /home/jdk/bin/java /usr/bin/java

# 切换目录
WORKDIR /home

步骤二:创建Docker Compose文件

创建一个名为docker-compose.yml的文件,用于定义Jenkins服务及其依赖项。示例如下:

docker-compose.yml

version: "3.3"
services:
  jenkins:
    image: xj/jenkins:1.0
    container_name: jenkins
    restart: always
    privileged: true
    environment:
      TZ: 'Asia/Shanghai'
    ports:
      - 9003:8080
      - 50000:50000
    volumes:
      - ./data/jenkins_home:/var/jenkins_home
# 安装过程中会出现 Docker 数据卷 权限问题,用以下命令解决:
# sudo chown -R 1000 ./data

如果不需要自己构建镜像的话把image替换为jenkinsci/jenkins:latest即可。

步骤三:运行容器

在docker-compose.yml的同级目录下执行如下命令启动容器:

docker-compose up -d

查看容器日志

docker-compose logs -f

如果出现一下截图,则说明容器启动成功

_20231112212117.jpg

访问Jenkins Web界面,完成Jenkins安装

当Docker容器启动完成后,可以通过浏览器访问http://192.168.10.106:9003来打开Jenkins的Web界面。首次访问时,您需要提供初始管理员密码,该密码会在上述启动的容器日志中打印,也可以在/var/jenkins_home/secrets/initialAdminPassword文件中查看。

_20231112222516.jpg

输入密码之后会进入到插件安装界面,我们此处选择的是建议安装插件,你也可以自行选择插件安装。

_20231112222617.jpg

点击之后会进入到插件安装进度的页面

_20231112222631.jpg

安装好之后进入管理员密码设置页面,设置之后我们就可以使用jenkins了

_20231112235055.jpg

具体项目自动构建打包部署我们虾片文章再介绍

总结

通过使用Docker Compose,我们轻松地部署了Jenkins服务,并使其在容器环境中运行。这为我们提供了一个独立、可移植且易于维护的Jenkins实例。希望这篇文章对您理解Jenkins以及如何使用Docker Compose进行部署有所帮助。

目录
相关文章
|
5天前
|
存储 运维 Kubernetes
Docker+Kubernetes/K8s+Jenkins视频资料【干货分享】
Docker+Kubernetes/K8s+Jenkins视频资料【干货分享】
Docker+Kubernetes/K8s+Jenkins视频资料【干货分享】
|
1天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中使用Docker进行部署函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
6 0
|
1天前
|
jenkins Java 持续交付
Jenkins离线安装部署教程简记
Jenkins离线安装部署教程简记
11 0
|
3天前
|
数据库 Nacos Docker
基于docker-compose部署微服务基本环境
基于docker-compose部署微服务基本环境
7 0
|
5天前
|
SQL 调度 数据库
Docker部署Xxl-Job分布式任务调度中心(超详细)
Docker部署Xxl-Job分布式任务调度中心(超详细)
|
5天前
|
jenkins 持续交付 开发工具
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(下)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)
|
5天前
|
jenkins Java 持续交付
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(上)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)
|
5天前
|
运维 Linux 虚拟化
Docker详解(三)——Docker安装与部署
Docker详解(三)——Docker安装与部署
52 4
|
5天前
|
jenkins Java 持续交付
Jenkins与Docker的自动化CI/CD实战
Jenkins与Docker的自动化CI/CD实战
|
5天前
|
存储 API 数据安全/隐私保护
企业级Docker镜像仓库Harbor部署与使用
企业级Docker镜像仓库Harbor部署与使用