【注意:】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. Java学习--编译器javac

    Java的源程序为.java文件, 编译后生成.class文件(字节码文件); javac(java compiler的简写)是java语言的编译器. Hello.java public class ...

  2. 2011TG初赛

    一.单项选择题(共20题,每题1.5分,共计30分,每题有且仅有一个正确选项.) 1. 在二进制下,1011001+( )=1100110. A.1011 B.1101 C.1010 D.1111 B ...

  3. TcxGrid 调整列位置的事件

  4. 网络图片转换到本地并转换成base64位

    /** * 网络图片转换到本地并转换成base64位 * @param $url * @return string */ public function imgzhuanhuan($url) { // ...

  5. tensorflow-作用域

    变量名字由两部分组成:scope/变量name. name 参数才是对象的唯一标识. 1.tf.name_scope() Graph中保存着一个属性_name_stack(string类型),_nam ...

  6. AJAX请求时status返回状态明细表(转)

    转自:http://www.cnblogs.com/wangking/p/6530904.html AJAX请求时status返回状态明细表 readyState的五种状态2010-03-04 18: ...

  7. js ES6 Set和Map数据结构详解

    这篇文章主要介绍了ES6学习笔记之Set和Map数据结构,结合实例形式详细分析了ECMAScript中基本数据结构Set和Map的常用属性与方法的功能.用法及相关注意事项,需要的朋友可以参考下   本 ...

  8. Codeforces Round #530 (Div. 2) F - Cookies

    F - Cookies 思路:我们先考虑如何算出在每个节点结束最多能吃多少饼干, 这个dfs的时候用线段树维护一下就好了, 然后有个这个信息之后树上小dp一下就好啦. #include<bits ...

  9. pymysql模块 执行sql封装

    封装pymysql模块执行sql class HandCost(object): """ 处理数据库中的数据 """ def __init_ ...

  10. Ansible专题整理

    Ansible 专题文章总览 Ansible小手册,仅供参考 文章如未明确说明实验环境,默认如下: OS:Centos 6.7 x86_64 Ansible: 2.1.2.0 Python: 2.6. ...