首页 > 其他分享 >Docker:Docker部署Jenkins并共用宿主机Docker部署微服务多模块(一)Jenkins部署及插件环境搭建

Docker:Docker部署Jenkins并共用宿主机Docker部署微服务多模块(一)Jenkins部署及插件环境搭建

时间:2024-11-23 22:44:35浏览次数:6  
标签:部署 宿主机 Maven jenkins home Jenkins Docker docker

前言

公司项目多忙着开发,所有项目服务都是博主一个个部署的,时间久了也是心累,所以抽时间把Jenkins部署上,之后让其他开发人员自己部署(让我解脱吧!!)。

部署Jenkins容器

Docker安装就不在赘述了,可以看我之前的文章(懒了);直接开始拉取jenkins镜像。

拉取镜像

docker pull jenkins/jenkins:2.486-jdk17

下载Maven

博主部署的服务主要是Java为后端+Vue为前端,所以需要Maven支撑Java服务;其他服务(c++、python、go、rust等)可以选择跳过这步。

Maven下载链接:https://maven.apache.org/download.cgi

这里选的是Stable(稳定版)。

解压Maven包

将压缩包通过Xftp工具上传到服务器中,这里我在home目录下创建了Jenkins目录用来存放包(/home/jenkins)。

解压Maven包

tar -xzf apache-maven-3.8.8-bin.tar.gz

更改Setting文件

修改Maven的依赖包存储路径和下载源地址,依赖包存储路径博主创建在 /home/jenkins/repository

修改Maven的setting.xml文件

# 创建Maven本地仓库目录
cd /home/jenkins
mkdir repository
# 赋予权限
chown -R 1000:1000 /home/jenkins/repository

# 切换Maven目录
cd apache-maven-3.8.8
# 修改settings.xml
vim ./conf/settings.xml

下载Node.js

博主部署的服务主要是Java为后端+Vue为前端,所以需要Node.js支撑Vue服务;其他服务(c++、python、go、rust等)可以选择跳过这步。

Node.js下载链接:https://nodejs.org/dist/

解压Node.js包

将压缩包通过Xftp工具上传到服务器中,这里我还是放在/home/Jenkins目录下。

解压Node.js包

tar -xzf node-v18.18.0-linux-x64.tar.gz

 创建Jenkins容器

注意:创建容器前需要给文件夹设定权限,否则Jenkins挂载时会报错权限不足!

创建 /home/jenkins/data 用于映射Jenkins的数据,并赋予权限

# 切换目录
cd /home/jenkis
# 创建data文件夹
mkdir data
# 赋予权限
chown -R 1000:1000 /home/jenkins/data

等下会将宿主机的docker.sock文件映射到Jenkins中,也需要赋予权限

# 赋予权限
chown -R 1000:1000 /var/run/docker.sock

容器创建命令

docker run -p 10240:8080 -p 10241:50000 \
 --restart always \
 -v /home/jenkins/data:/var/jenkins_home\
 -v /home/jenkins/apache-maven-3.8.8/:/opt/maven/apache-maven-3.8.8 \
 -v /home/jenkins/repository:/opt/maven/repository \
 -v /home/jenkins/node-v18.18.0-liunx-x64:/opt/node/node-v18.18.0-liunx-x64 \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /usr/bin/docker:/usr/bin/docker \
 -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \
 -v /etc/localtime:/etc/localtime \
 --name jenkins \
 -d jenkins/jenkins:2.486-jdk17

--restart always :配置开机自启,失败自动重启

-v /home/jenkins/data:/var/jenkins_home\ :将Jenkins的数据挂载到宿主机

-v /home/jenkins/apache-maven-3.8.8/:/opt/maven/apache-maven-3.8.8 \ :将Maven挂载到Jenkins容器中

 -v /home/jenkins/repository:/opt/maven/repository \ :将Maven本地仓库路径挂载到Jenkins容器中,settings.xml中的路径配置的是容器内的仓库路径

 -v /home/jenkins/node-v18.18.0-liunx-x64:/opt/node/node-v18.18.0-liunx-x64 \ :将Node.js挂载到Jenkins容器中

 -v /var/run/docker.sock:/var/run/docker.sock \ :将宿主机Docker挂载到Jenkins容器中,方便Jenkins操作宿主机的Docker部署服务

 -v /usr/bin/docker:/usr/bin/docker \ :将宿主机Docker挂载到Jenkins容器中,方便Jenkins操作宿主机的Docker部署服务

 -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \ :将宿主机docker-compose挂载到Jenkins容器中,方便Jenkins操作宿主机的docker-compose部署服务

 -v /etc/localtime:/etc/localtime \ :将宿主机时间信息挂载到Jenkins容器中

访问Jenkins页面

访问地址:http://你的ip:10240

这里的密码存放地址已经通过挂载方式映射到宿主机的 /home/jenkins/data 中,所以可以通过如下命令查看

tail /home/jenkins/data/secrets/initialAdminPassword

配置Jenkins部署

基础插件安装

开始漫长的等待…………

设置完成后,重启下容器在登陆。

安装GitLab插件

进入 系统管理 -> 插件管理

选择 插件商城 -> 搜索插件 ;勾选插件点击右上角安装。

常用插件安装

GitLab(代码仓库管理):公司自己搭建的GitLab,大家根据自己情况下载其他仓库管理 GitHub Gitee GitCode 等等

Git Parameter Plug-In(git分支管理):可以在构建的时候选择git的某一个分支来构建服务

Pipeline(流水线管理):Jenkins开始进入的时候,推荐安装时会自动装,但是有可能会安装失败,所以在商城搜一下,搜不到就说明装了

Maven Integration(Maven构建工具)

Extended Choice Parameter(参数化构建插件):它允许我们在构建过程中动态地设置和传递参数。对于需要用户输入或者动态选择的参数,我们可以使用多选框、单选框等来呈现

NodeJS(前端构建依赖环境)

SSH(远程登录服务)

Role-based Authorization Strategy(Jenkins用户权限管理插件)

SonarQube Scanner(代码检测插件)

Job ConfigurationHistory(更新历史记录插件)

Build Name and Description(构建时自定义名称)

配置环境变量

进入 系统管理 -> 系统配置 

向下拉拽,找到全局属性,配置Maven、Node环境变量

配置GitLab信息

进入 系统管理 -> 系统配置 ;还是在系统配置内,向下拉找到GitLab

新增GitLab的API Token

获取GitLab个人API Token的方式

选择刚才创建的API Token,测试链接

配置全局工具配置

进入 系统管理 -> 全局工具配置 

配置Maven的settings.xml文件位置

配置Git路径

配置Maven路径

配置Node.js路径

点击保存!

 

标签:部署,宿主机,Maven,jenkins,home,Jenkins,Docker,docker
From: https://www.cnblogs.com/nhdlb/p/18561435

相关文章

  • 【Docker】数据卷(容器数据管理)
    文章目录一、前言二、数据卷三、数据卷(volume)操作命令四、案例:创建和查看数据卷一、前言在之前的nginx案例中,修改nginx的html页面时,需要进入nginx内部。并且因为没有编辑器,修改文件也很麻烦。这就是因为容器与数据(容器内文件)耦合带来的后果。要解决这个问题,必须......
  • 基于SpringBoot+Vue的大学生就业信息管理系统的设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3.具体实现截图4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2前端框架Vue5.3系统开发平台6.系统架构设计7.程序操作流程8.业务流程设计9.为什么选择我们9.1自己的公众号9.2海量实战案例10.代码参考11.数据库参考12.源码及文档获取......
  • 基于SpringBoot+Vue的饮食营养管理系统的设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3.具体实现截图4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2前端框架Vue5.3系统开发平台6.系统架构设计7.程序操作流程8.业务流程设计9.为什么选择我们9.1自己的公众号9.2海量实战案例10.代码参考11.数据库参考12.源码及文档获取......
  • 本地部署 excalidraw
    本地部署excalidraw0.引言1.本地部署excalidraw2.访问excalidraw0.引言Excalidraw编辑器是一款开源虚拟手绘白板,支持协作且端到端加密。1.本地部署excalidrawgitclonehttps://github.com/excalidraw/excalidraw.git;cdexcalidrawvidocker-compos......
  • SSM宠物收养系统mf8t3==程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、项目背景随着社会对宠物关爱的提升,流浪宠物问题日益受到关注。然而,现有的宠物收养流程存在信息不透明、匹配效率低下等问题,导致许多流浪宠物难......
  • SSM大学生健康点餐系统hq67v(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景与意义当前,大学生饮食习惯不健康、营养不均衡的问题日益凸显,对身体健康产生不良影响。为解决这一问题,设计并实现一个大学生健康点餐系......
  • Springboot恩施民宿房屋预订系统w7qme(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,房东,客房信息,客房预订,景点信息,系统简介开题报告内容一、研究背景随着旅游业的蓬勃发展,民宿作为一种新兴的住宿方式,以其独特的地理位置、丰富的文化体......
  • Springboot多用户博客管理系统的设计与实现0ce8q(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,博客文章,博文分类开题报告内容一、研究背景随着互联网技术的飞速发展,博客作为一种个人或团体表达思想、分享知识的平台,已经深入到了人们的日常生活中。博......
  • Docker 理论与实操指南
    1.简介Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker的官方地址是https://docs.docker.com/。无论是应用开发者、运维人员、还是其他信息技术从业人员,都有必要......
  • DAMODEL | 基于丹摩智算部署SD3+ComfyUI文生图
    目录文章前言SD3+ComfyUI文生图部署步骤1.1、实例创建操作步骤从HF-mirror下载SD3模型安装git安装ComfyUI文章声明:非广告,仅是个人体验文章前言随着人工智能技术的飞速发展,文本生成图像(Text-to-Image,T2I)技术逐渐成为计算机视觉与自然语言处理交叉领域的研究热......