回顾:上一文对Docker常用的命令以罗列的方式做了一个详尽的介绍。本文将使用这些命令搭建一个jenkins持续集环境,解决jenkins不能联网的问题来安装各种常用插件。

Jenkins 简述

Jenkins是什么

Jenkins是一个跨平台、免费、开源并且功能强大的应用程序,允许持续集成和持续交付项目,通过各种扩展插件可以处理任何类型的构建或持续集成。集成Jenkins还可以用于一些测试和部署技术。

持续集成是什么

随着微服务的兴起,系统被拆分的更细致,也就意味着服务越来越多,项目开发流程中,需要部署的项目会更多,而且很频繁。这样开发人员要花很长的时间去部署,再测试。于是更加自动化的部署、测试工具显得就无比的重要、因此jenkins横空出世,目的就是为了让这些重复繁琐的工作变得自动化,也就是持续集成。实际应用中是和代码仓库配合使用,当仓库某分支有提交代码时触发自动化构建。

Jenkins安装

本文是基于Docker镜像安装Jenkins,其他的安装方式请读者另行查阅资料。

docker搜索jenkins镜像

$ docker serach jenkins
NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
jenkins                                Official Jenkins Docker image                   3647                [OK]
jenkins/jenkins                        The leading open source automation server       780
jenkinsci/jenkins                      Jenkins Continuous Integration and Delivery …   328
jenkinsci/blueocean                    https://jenkins.io/projects/blueocean           207
jenkinsci/jnlp-slave                   A Jenkins slave using JNLP to establish conn…   85                                      [OK]
jenkinsci/slave                        Base Jenkins slave docker image                 41                                      [OK]
jenkins/jnlp-slave                     a Jenkins agent (FKA "slave") using JNLP to …   33                                      [OK]
jenkinsci/ssh-slave                    A Jenkins SSH Slave docker image                31                                      [OK]
cloudbees/jenkins-enterprise           CloudBees Jenkins Enterprise (Rolling releas…   30                                      [OK]
aespinosa/jenkins                      Sets up a container with jenkins installed l…   22                                      [OK]
blacklabelops/jenkins                  Docker Jenkins Swarm-Ready with HTTPS and Pl…   13                                      [OK]

下载jenkinsci/jenkins镜像

$ docker pull jenkins/jenkins
Using default tag: latest
latest: Pulling from jenkins/jenkins
cc1a78bfd46b: Already exists
d2c05365ee2a: Pull complete
231cb0e216d3: Pull complete
3d2aa70286b8: Pull complete
b621e52d9d65: Pull complete
f12314f6054a: Pull complete
f5ce6397976f: Pull complete
965859e0769b: Downloading [====>                                              ]  12.85MB/134MB
4a76f2995e39: Download complete
37d3ee2694d1: Download complete
651366d1a8e4: Download complete
55793a56060f: Download complete
7818e089879b: Download complete
78c4019c83e7: Download complete
6338504f77b7: Downloading [=====>                                             ]   8.06MB/75.14MB
a7bfb2832840: Download complete
8c34aa5b5c97: Download complete
f88eece329ad: Download complete
4868b8d112bc: Waiting
a98cdc04ca10: Waiting
4c8b27fc9d78:

等待下载完成,ctrl + c可以中断下载。

启动jenkins

docker run -d -p 9000:8080 -m 1024m jenkinsci/jenkins
7008e5bf33a1feb5283e1430ef697d7e01418763c98fd2d85fdff6efe299ed8e

其中,-d表示后台运行,-p 本机段端口9000映射容器8080端口,-m设置运行最大内存为1024m,第二行的字符串表示容器运行的id,接下来的操作容器会用到。

查看启动日志

获取到上面的容器id,使用docker logs命令查看最后30行日志

$ docker logs 7 --tail 30*************************************************************
*************************************************************
*************************************************************Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:215046cc8de7437dac6ad1d250eddcb0This may also be found at: /var/jenkins_home/secrets/initialAdminPassword*************************************************************
*************************************************************
*************************************************************Jun 26, 2018 3:49:41 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Jun 26, 2018 3:49:42 AM hudson.model.DownloadService$Downloadable load
INFO: Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
Jun 26, 2018 3:49:42 AM hudson.model.AsyncPeriodicWork$1 run
INFO: Finished Download metadata. 7,058 ms
Jun 26, 2018 3:49:43 AM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Jun 26, 2018 3:49:43 AM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Jun 26, 2018 3:49:43 AM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
--> setting agent port for jnlp
--> setting agent port for jnlp... done

从上面的日志可以知道,jenkins容器已经首次启动成功,并且将登录密码打印出来了。复制这个密码215046cc8de7437dac6ad1d250eddcb0

登录访问jenkins

上面指定了本地的端口为9000,于是访问地址为:http://localhost:9000

将上一步复制的密码粘贴进去,即可登录jenkins。

选择安装推荐的插件,点击,下一步

插件正在自动安装,等待完成,下一步

可以填写表单创建一个用户,这里不创建直接右下角,使用admin账户继续。

配置访问路径,这里默认就好,下一步

安装完成,下一步

Jenkins主页面

安装插件

如果上面的步骤中,插件安装失败了,提示无法连接,那就需要梯子或者更换镜像仓库。
这里我们采用比较简单的方式,更换仓库地址来解决插件无法下载安装的问题。

1.jenkins->系统管理->管理插件->高级

把:http://updates.jenkins-ci.org/update-center.json
换成:http://mirror.esuni.jp/jenkins/updates/update-center.json

2.jenkins->系统管理->管理插件->可选插件

通过右上角的搜索框搜索插件,如git、maven,勾选,点击底部按钮直接安装即可。

创建项目

这时即可基于我们安装的Jenkins插件创建一个maven项目,输入项目名 ifast,选择“构建一个maven项目”,点击确定即可。

总结

通过本章学习,你已经知道了基于docker如何在linux环境下搭建Jenkins环境,并创建一个maven项目。

作者推荐:SSM开源开发框架

ifast是一款基于Spring Boot + Mybatis + Mybatis Plus搭建的快速开发平台。ifast集成了代码生成器,具有高效的开发效率。以Spring Boot为基础框架,Mybatis plus为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,基于Bootstrap构建的hplus作为前端框架。
ifast提供了docker方式打包,启动,让部署、维护更加方便。
访问请点击 Java快速开发脚手架 ifast

Docker容器系列教程(三):jenkins环境搭建与插件安装相关推荐

  1. JMeter教程1 - 介绍环境搭建 (Mac)插件安装

    目录 一.JMeter 介绍 JMeter与LoadRunner比较 JMeter缺点 二. JMeter 安装 1.官网下载JMeter 2.安装JMeter 3.配置环境变量 4.汉化 5.安装P ...

  2. python3.6 django教程_【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

  3. 手把手教你搭建一个【文件共享平台】系列教程第二话——环境搭建

    文章目录 本话概要 前端 前端整体需求 前端组件树 前端环境搭建 后端 后端整体需求 后端技术路线 后端环境搭建 下期预告 本话概要 这一篇博文主要从整体的角度,概述整个文件共享平台前.后端的需求.技 ...

  4. JAVAWEB开发之工作流详解(一)——Activiti的环境搭建、插件安装、核心API

    工作流的概念 工作流(Workflow),就是"业务过程的部分或整体在计算机应用环境下的自动化",它主要解决的是"使在多个参与者之间按照某种预定义的规则传递文档.信息或任 ...

  5. jenkins环境搭建

    jenkins环境搭建首先要安装JDK,JDK安装好后配一下环境变量.然后装Tomcat,在Tomcat的目录下启动exe执行文件,在浏览器上输入http://localhost:8080,进入apa ...

  6. 乐鑫代理启明云端分享| ESP32系列教程之五: Eclipse搭建esp-idf环境

    提示:前面小明已经为大家分享了4个章ESP32系列教程,今天继续为大家分享,希望大家多多关注我们!启明云端作为乐鑫代理,一直希望能帮到更多的开发者能快速上手乐鑫系列芯片的开发. 前言 提示:本文档为E ...

  7. 三步使用Docker容器创建RoboCup仿真2D环境

    本文相关视频: 三步使用Docker容器创建RoboCup仿真2D环境_哔哩哔哩_bilibili RoboCup是机器人足球世界杯[,最早于1997年在日本名古屋举办,有来自全世界38支球队参加仿真 ...

  8. java窗口代码_Java系列教程day01——java的搭建环境

    day01--搭建环境变量&HelloWorld程序 1.注意听课,不要溜号,不要睡觉,不要游戏. 2.我的联系方式: QQ:79539705 3.整理笔记.绘制思维导图.完成作业.. 一.J ...

  9. 『高级篇』docker之DockerSwarm的集群环境搭建(28)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『高级篇』docker之DockerSwarm的集群环境搭建(28) 上次了解了docker Swarm,这次一起动手操作,搭 ...

最新文章

  1. 通过公网ip或域名下载自己的文件的一些思路
  2. 如何简化Exchange 2007 OWA URL访问
  3. Java Script 之 Promise
  4. Failed to bind NettyServer on /192.168.**.*:20880, cause: Failed to bind to: /0.0.0.0:20880
  5. 实践理解计算机启动过程
  6. ios 图片截取功能 图片拼接功能
  7. oracle服务器重启后监听启动
  8. spring 多租户_使用Spring Security的多租户应用程序的无状态会话
  9. resteasy_Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务– Eclipse和Maven项目
  10. python 比赛成绩预测_利用 Python 预测英雄联盟胜负,分析了 5 万多场比赛才得出的数据!值得,涨知识了!...
  11. java方法重载_在Python中该如何实现Java的重写与重载
  12. Java学习中的不解
  13. 简析三星新专利,语音识别技术的新方法
  14. Word 中插入 C/C++ 代码(转)
  15. SQL Server 远程连接出错~~~无法访问服务器
  16. VS 内存不能read—堆栈空间解决栈溢出问题
  17. 如果一非零的整系数多项式能够分解成两个次数较低的有理系数多项式的乘积,那么它一定能分解成两个次数较低的整系数多项式的乘积
  18. centos7 下载百度网盘中文件的方法
  19. 机器学习knn算法学习笔记使用sklearn库 ,莺尾花实例
  20. 第十三届——蓝桥杯嵌入式第二场

热门文章

  1. log4j.properties文件中的log4j.rootLogger重要性
  2. scala迭代器_Scala选项和迭代器示例
  3. 完整的微服务系统应该包括哪些功能?
  4. Java新职篇:声明一个变量
  5. OpenCV(二)OpenCV的介绍和发展
  6. IDEA之Git分支以及Stash使用
  7. 模拟登录,发送amf类型数据
  8. Java Script学习 6(转)
  9. Java | 原来 try 还可以这样用啊?!
  10. 秒杀安全狗的经验总结