【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,并安装在虚拟机中 ...
随机推荐
- Java学习--编译器javac
Java的源程序为.java文件, 编译后生成.class文件(字节码文件); javac(java compiler的简写)是java语言的编译器. Hello.java public class ...
- 2011TG初赛
一.单项选择题(共20题,每题1.5分,共计30分,每题有且仅有一个正确选项.) 1. 在二进制下,1011001+( )=1100110. A.1011 B.1101 C.1010 D.1111 B ...
- TcxGrid 调整列位置的事件
- 网络图片转换到本地并转换成base64位
/** * 网络图片转换到本地并转换成base64位 * @param $url * @return string */ public function imgzhuanhuan($url) { // ...
- tensorflow-作用域
变量名字由两部分组成:scope/变量name. name 参数才是对象的唯一标识. 1.tf.name_scope() Graph中保存着一个属性_name_stack(string类型),_nam ...
- AJAX请求时status返回状态明细表(转)
转自:http://www.cnblogs.com/wangking/p/6530904.html AJAX请求时status返回状态明细表 readyState的五种状态2010-03-04 18: ...
- js ES6 Set和Map数据结构详解
这篇文章主要介绍了ES6学习笔记之Set和Map数据结构,结合实例形式详细分析了ECMAScript中基本数据结构Set和Map的常用属性与方法的功能.用法及相关注意事项,需要的朋友可以参考下 本 ...
- Codeforces Round #530 (Div. 2) F - Cookies
F - Cookies 思路:我们先考虑如何算出在每个节点结束最多能吃多少饼干, 这个dfs的时候用线段树维护一下就好了, 然后有个这个信息之后树上小dp一下就好啦. #include<bits ...
- pymysql模块 执行sql封装
封装pymysql模块执行sql class HandCost(object): """ 处理数据库中的数据 """ def __init_ ...
- Ansible专题整理
Ansible 专题文章总览 Ansible小手册,仅供参考 文章如未明确说明实验环境,默认如下: OS:Centos 6.7 x86_64 Ansible: 2.1.2.0 Python: 2.6. ...