【Devops】【docker】【CI/CD】2.docker启动jenkins环境+安装必要的插件
【注意:】jenkins的docker镜像,需要从官网进入直接获取,其他地方获取到的docker镜像,可能因为Jenkins版本过低,导致后续插件安装失败等问题!!!
============================================================================================
1.拉取镜像
需要从官网进入:https://jenkins.io/download/


命令:
docker pull jenkins/jenkins:lts

注意查看 docker镜像中,Jenkins版本是否是最新版
命令:
docker inspect 806f56c84444

2.创建目录
由于防止jenkins中重要文件因为容器损毁或删除导致文件丢失,因此创建文件对外挂载
mkdir jenkins
并且需要对目录开放docker进程操作的完全读写的权限
chmod /apps/Devops/jenkins
3.启动容器
docker run -itd -p : -p : --restart always -v /apps/Devops/jenkins:/var/jenkins_home --name jenkins jenkins/jenkins:lts
并查看日志
docker logs -f jenkins
出现如下日志,即容器启动成功

4.页面查看,查找admin初始密码,并复制到此
访问地址:
http://192.168.92.130:9980

出现如上页面,代表jenkins启动成功。
需要copy管理员初始密码从上图所提示的目录地址的文件中。
获取admin初始密码有三个途径:
1》你可以选择进入容器,然后按路径进行查找
docker exec -it jenkins /bin/bash
cd /var/jenkins_home/secrets/
cat initialAdminPassword
可以获取到这一串密码
2》也可以去已经挂载到容器外的宿主机的目录下去查找
cd /apps/Devops/jenkins/secrets
cat initialAdminPassword
可以获取到这一串密码
3》刚刚的jenkins启动日志,最后也展示了这一串密码

复制这一串admin的初始密码,进入jenkins。需要等待数十秒!
5.安装插件

如上图所示,左侧显示安装建议的插件。右侧选择自定义安装插件。
先按照建议插件进行安装,点击左侧即可。

如上,如果全部都能正确安装,更好。出现安装失败的插件,等待所有结束,下方会有Retry可以进行重试。

最后重试后,依旧没有安装成功的,可以先continue,完成初始化的步骤。随后可以通过本篇解决。
continue后,完善如下信息,即可保存并完成
U:AngelSXD P:F09..

即可开始了!


6.安装Maven插件
点击左侧【系统管理】---【插件管理】

搜索 【Maven Integration】,勾选并安装

安装过程

安装完成后,即可在插件管理下的 已安装installed选项卡下 看到刚刚已经安装的插件
7.安装Gitlab插件和GitLab Hook插件
在Available选项卡下
搜索GitLab,安装GitLab插件和GitLab Hook
点击Install without restart

8.安装Maven Integration插件
搜索Maven Integration,勾选并安装

9.安装Publish Over SSH插件
【安装这个插件的原因,是因为本方式是使用docker启动jenkin服务,所以在jenkins后续执行构建任务时候,需要在build成功后,将服务的jar包[以spring boot]服务为例,需要将jar包拷贝到Dockerfile所在服务器的指定目录,进行微服务的启动】
【因此,此处需要配置SSH服务器的连接,意思就是在jenkins的任务结束后,去执行指定的服务器上的shell命令,做spring boot或cloud服务的镜像的构建,容器的运行,等一系列的事情】
【因此需要安装本插件】
搜索SSH

安装完成后:首先添加凭证

添加凭证【username+password类型的凭证】

接着,
点击系统管理,进入系统设置

找到SSH remote hosts,进行配置
配置SSH连接Dockerfile所在服务器的相关信息,并添加凭证,最后测试连接并保存,以备后面使用!!!

本插件的安装,以及配置连接等工作,就是为jenkin配置后续的自动化部署做准备!
【后续跳转:【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署】
到这里,docker搭建Jenkins环境已经完成。必要的插件也全部安装完成了!!!!!
====================================================================================================
【Devops】【docker】【CI/CD】2.docker启动jenkins环境+安装必要的插件的更多相关文章
- CI Weekly #6 | 再谈 Docker / CI / CD 实践经验
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
- Docker / CI / CD
CI Weekly #6 | 再谈 Docker / CI / CD 实践经验 CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动 ...
- Azure Data Factory(三)集成 Azure Devops 实现CI/CD
一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...
- 【Devops】【docker】【CI/CD】docker启动的Jenkins容器 - 系统管理 - 全局工具配置 - 自动安装JDK、Maven、Git、Docker
本篇适用于jenkins是启动的docker容器,自动安装JDK Maven Git Docker等全局工具 ========================================= ...
- Devops、CI\CD、Jenkins
Devops DevOps对应用程序发布的影响 在很多企业中,应用程序发布是一项涉及多个团队.压力很大.风险很高的活动.然而在具备DevOps能力的组织中,应用程序发布的风险很低,原因如下 [2] : ...
- Jenkins自动化CI CD流水线之1--介绍与安装
第1章 大纲 CI/CD, DevOps介绍 Git安装与使用 Jenkins安装与使用 权限管理 参数化构建 Master-Slave 流水线(Pipeline) 邮件通知 应用案例 自动发布PHP ...
- CI/CD之Gitlab集成Jenkins多分支pipeline实现质量检测和自动发布
本次实施主要实现: 代码提交gitlab,自动触发Jenkins构建 gitlab发起Merge Request, 需要Jenkins检查通过才可以merge,实现代码review和质量管控 gitl ...
- CI/CD版本回滚Jenkins解决方案
一.创建项目 填写项目名,关系到项目路径对应请谨慎命名 二.项目配置 1.配置字符串参数和选项参数 2.代码仓库配置 3.构建环境 4.构筑脚本配置 5.点击左下方的保存或者应用 三.使用方法 1.发 ...
- docker学习实践之路[第一站]环境安装
安装虚拟机(VMware Workstation) 这步就不多说了,下载完软件之后一路点击下一步,直至安装完成. 安装Ubuntu 16.4 server 下载ubuntu 16.4,并安装在虚拟机中 ...
随机推荐
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 的解决办法
更换mysql数据目录后出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql ...
- Service Mesh 及其主流开源实现解析(转)
什么是 Service mesh Service Mesh 直译过来是 服务网格,目的是解决系统架构微服务化后的服务间通信和治理问题.服务网格由 sidecar 节点组成.在介绍 service me ...
- 测试开发之Django——No2.Django的安装以及项目创建
开发平台:Mac Python版本:3.7 Django版本:2.0.5 一.Django的安装 1.pip安装 输入命令pip install Django==2.0.5 说明:不指定版本,则安装的 ...
- sed的一些使用技巧
一.当一个文件里有两行相同的内容,但这时只想修改第一行的内容或者第二行的内容,而不是全部修改,以下例子说明下: 1.修改匹配到第一行为port的内容(若要真修改前面记得-i): [root suppo ...
- SOA并不能解决高并发事务
传统SOA架构其实无法面对高并发事务. 这种方式不适合热点资源,也就是高并发场合. 虽然乐观锁短,但是容易产生脏数据. SOA是以服务这个方式对外提供功能,我们很显然喜欢在Service中加上JTA等 ...
- OpenStack中的Multipath faulty device的成因及解决(part 1)
| 版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.如有问题,可以邮件:wangxu198709@gmail.com 简介: Multip ...
- streaming优化:并行接收数据
val numStreams = 5 val kafkaStreams = (1 to numStreams).map { i => KafkaUtils.createStream(...) } ...
- DSP 中关键字extern,cregister,Near ,Far,restrict,volatile
extern:extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义.另外,extern也可用来进行链接指定. const: 可以 ...
- spring过滤器
什么是过滤器 Spring 中不能处理用户请求,但可以用来提供过滤作用的一种Servlet规范.在请求进入容器之后,还未进入Servlet之前进行预处理,并且在请求结束返回给前端这之间进行后期处理.具 ...
- 使用<c:set>标签配置项目路径
写在前面的话: 在java项目中,路径的配置是一项最基础也是最必不可少的工作,最初我们配置路径是根据<%=request.getContextPath()%>这个java代码块进行配置的, ...