jenkins自动部署思路,docker启动

本文详细介绍了在宿主机上使用Docker启动Jenkins容器,并通过Jenkins配置实现自动化构建流程,包括代码同步、Tomcat容器管理和环境搭建。探讨了两种主要方案:直接在Docker中运行Jenkins及在宿主机上搭建Jenkins环境配合Docker使用。

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

一,宿主机安装docker,启动jenkins容器,tomcat容器(免去部署环境,方便,但是需要比较复杂)

1,首先安装docker,启动官方的jenkins容器。(可以自己手动创建喜欢的镜像)

2,启动jenkins命令
docker run -d -u root -P -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 -v /www/:/www jenkins

-u root 定义用户为root(也可以使用别的用户,安全。不添加默认是jenkins用户)

-v 挂载是将docker命令挂载到容器上,jenkins上需要使用docker来启动tomcat容器。 -v /www:/www是将宿主机的代码挂载到容器上。(因为需要在jenkins上启动tomcat容器)

3,在jenkinsWEB页面端,配置好需要的git等,编译mvn,ant等,shell命令执行启动tomcat容器的命令。(我使用rsync同步代码命令)(如何同步代码到www目录,删除容器,启动容器命令等)

4,大致为 宿主机安装docker ,docker启动jenkins,jenkins 拉取代码,通过rsync同步到/www  使用挂载/www方式 启动tomcat容器

 

二,在宿主机搭建jenkins环境,使用docker来启动tomcat容器(需要部署jenkins环境,有些麻烦,比较稳定。)

1,在宿主机配置好jenkins环境。

2,在jenkinsWEB页面端,配置好需要的git等,编译mvn,ant等,shell命令执行启动tomcat容器的命令。(如何同步代码到www目录,删除容器,启动容器命令等)

 

三,jenkins配置的都差不多,需要注意就是jenkins容器里的权限 命令等方式。

       注意docker容器需要足够多的内存

### 使用 DockerJenkins 实现 CI/CD 自动部署 #### 准备工作 为了确保能够顺利搭建基于 DockerJenkins 环境,需先安装好 Docker 并确认其正常运行。对于 Linux 用户来说,在大多数发行版上都可以通过官方文档找到对应的安装指南[^2]。 #### 启动 Jenkins 容器 启动带有预配置插件的 Jenkins 官方镜像可以简化初期设置过程: ```bash docker run -d --name jenkins \ -p 8080:8080 \ -v jenkins_home:/var/jenkins_home \ jenkinsci/blueocean ``` 这条命令会拉取并启动最新版本的蓝洋界面风格的 Jenkins,并将其端口映射到主机上的 `8080`,同时创建名为 `jenkins_home` 的卷来持久保存数据[^1]。 #### 配置 Jenkins 插件与凭证管理 初次访问 Web UI (`http://localhost:8080`) 将引导完成初始化向导;建议在此期间安装推荐插件集以便快速启用常用功能。另外,利用凭据存储机制妥善保管各类认证信息(如 GitHub Token),有助于后续项目源码获取操作的安全性和便捷性。 #### 创建流水线作业定义文件 (Jenkinsfile) 在 Git 版本控制系统中的仓库根目录下放置一份描述具体构建步骤的 Groovy 脚本——即所谓的 Jenkins Pipeline 文件。它不仅能让团队成员清晰理解整个交付链条的设计思路,而且支持参数化执行以及条件分支逻辑控制等功能特性。 ```groovy pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { steps { echo 'Testing...' } } stage('Deploy') { when { branch 'main' } steps { echo 'Deploying to production server...' } } } } ``` 上述示例展示了最基础结构化的多阶段管道设计模式,实际应用时可根据业务需求灵活调整各环节的具体行为。 #### 绑定 SCM 源并与触发策略关联 回到 Jenkins 控制面板内新建一个多支管线型的任务项,指定先前准备好的远程仓库地址作为代码库位置输入框的内容之一。与此同时,激活轮询或 webhook 方式的事件监听服务,从而实现在有新提交记录推送至目标分支后自动触发改任务重新排队等待处理的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值