【注意:】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环境+安装必要的插件的更多相关文章

  1. CI Weekly #6 | 再谈 Docker / CI / CD 实践经验

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

  2. Docker / CI / CD

    CI Weekly #6 | 再谈 Docker / CI / CD 实践经验   CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动 ...

  3. Azure Data Factory(三)集成 Azure Devops 实现CI/CD

    一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...

  4. 【Devops】【docker】【CI/CD】docker启动的Jenkins容器 - 系统管理 - 全局工具配置 - 自动安装JDK、Maven、Git、Docker

    本篇适用于jenkins是启动的docker容器,自动安装JDK  Maven  Git   Docker等全局工具 ========================================= ...

  5. Devops、CI\CD、Jenkins

    Devops DevOps对应用程序发布的影响 在很多企业中,应用程序发布是一项涉及多个团队.压力很大.风险很高的活动.然而在具备DevOps能力的组织中,应用程序发布的风险很低,原因如下 [2] : ...

  6. Jenkins自动化CI CD流水线之1--介绍与安装

    第1章 大纲 CI/CD, DevOps介绍 Git安装与使用 Jenkins安装与使用 权限管理 参数化构建 Master-Slave 流水线(Pipeline) 邮件通知 应用案例 自动发布PHP ...

  7. CI/CD之Gitlab集成Jenkins多分支pipeline实现质量检测和自动发布

    本次实施主要实现: 代码提交gitlab,自动触发Jenkins构建 gitlab发起Merge Request, 需要Jenkins检查通过才可以merge,实现代码review和质量管控 gitl ...

  8. CI/CD版本回滚Jenkins解决方案

    一.创建项目 填写项目名,关系到项目路径对应请谨慎命名 二.项目配置 1.配置字符串参数和选项参数 2.代码仓库配置 3.构建环境 4.构筑脚本配置 5.点击左下方的保存或者应用 三.使用方法 1.发 ...

  9. docker学习实践之路[第一站]环境安装

    安装虚拟机(VMware Workstation) 这步就不多说了,下载完软件之后一路点击下一步,直至安装完成. 安装Ubuntu 16.4 server 下载ubuntu 16.4,并安装在虚拟机中 ...

随机推荐

  1. C++字符串完全指引

    引言 毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏.你也许正在盯着显示器发愁.本指引将总结引进各种字符类型的 ...

  2. matlab进阶

    常用功能的实现 获取当前脚本所在目录 current_script_dir = fileparts(mfilename('fullpath')); % 结尾不带'/' 常用函数的说明 bsxfun m ...

  3. 关于Ocelot 网关结合Consul实现服务转发的坑爹问题

    下面是我的网关配置来验证下Ocelot的问题,如果只是做网关转发应该还ok,但是要是结合Consul来检查并健康的转发有效服务器还是有很多弊端 关键在于通过设置 DeregisterCriticalS ...

  4. Codeforces 280C Game on Tree 期望

    Game on Tree 这种题好像在wannfly训练营讲过, 我怎么又不会写啦, 我好菜啊啊啊. 我们按每个点算贡献, 一个点有贡献就说明它是被选中的点, 那么它被选中的概率就为1 / depth ...

  5. PHP字符串指定位置插入字符串

    1.substr_replace(string,replacement,start,length);需插入时设置length为0即可 string 必需.规定要检查的字符串. replacement ...

  6. mybatis中的增删改查操作

    在这一个部分,主要进行增删改查的示例书写. 增删改查可以基于xml的,也可以基于注解的方式. 一:对单条数据的查询 1.目录结构 这个使得目录更加清晰 2.User.java 这个使用以前的user表 ...

  7. oracle 编码

    select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; PARAMETER VALUE --------- ...

  8. django权限管理

    当我们为应用创建一个Models, 在同步到数据库里,django默认给了三个权限 ,就是 add, change, delete权限. 首先,我们创建一个perm_test的project, 然后再 ...

  9. android stuidio 导入项目问题。

    避免重新下载. === === === 改成自己对应的. ===== Gradle sync failed: Could not find method android() for arguments ...

  10. HDU.5985.Lucky Coins(概率DP)

    题目链接 \(Description\) 有n(n<=10)种硬币,已知每种硬币的数量和它抛一次正面朝上的概率pi.进行如下过程:每次抛一次所有硬币,将正面朝下的硬币去掉.重复该过程直到只剩一种 ...