Jenkins 介绍

Jenkins 作为持续集成的重要工具,在DevOps整个工具链中有重要的地位。Jenkins 一般作为独立的应用运行在Java Servlet容器中如Jetty,也可以运行在其它容器如Apache Tomcat 或者 GlassFish 中。

安装 Jenkins

Jenkins可以被安装在多种环境中,可以跑在Tomcat容器、Docker中、也可以本地运行,本文介绍本地运行的情况,如果需要了解更多安装方式,访问 Install Jenkins

环境要求

Jenkins安装的最小环境要求为:

1 256MB 内存

2 1G的磁盘空间(如果在容器中运行Jenkins,则推荐至少有10G空间)

3 Java 8 的运行环境

快速搭建方式一:RPM安装

Jenkins提供可以独立安装运行的RPM包,从 这里 下载。我在这个页面下载的时候发现一个问题,rpm包并不完全是按照时间排序的,希望官方能够解决这个问题。

RPM安装方法采用的环境是

Redhat Linux 7.3

Jenkins-2.89.4-1.1.noarch.rpm

jdk-8u171-linux-x64.rpm

安装过程:

# 首先将安装文件拷贝到虚拟机的用户目录下
bogon:Downloads rousseau$ scp jenkins-2.89.4-1.1.noarch.rpm root@192.168.0.101:~
# 检查主机的Java版本是否满足要求,如果不满足则需要安装对应版本的JDK
[root@bogon ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
# 登录到虚拟机主机中,进行安装
[root@bogon ~]# rpm -ivh jenkins-2.89.4-1.1.noarch.rpm
# 启动 Jenkins
[root@bogon ~]# systemctl start jenkins
[root@bogon ~]# ps -ef | grep jenkins-2.89.4-1.1.noarch.rpm
root 2829 2392 0 17:05 pts/0 00:00:00 grep --color=auto jenkins-2.89.4-1.1.noarch.rpm
# 此时应该可以正常访问了,如果没办法访问,可能是防火墙的问题。Redhat 7之后关闭防火墙的命令有所变化,需要注意
[root@bogon ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2018-05-07 16:53:24 CST; 14min ago
Docs: man:firewalld(1)
Main PID: 753 (firewalld)
CGroup: /system.slice/firewalld.service
└─753 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid May 07 16:53:23 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
May 07 16:53:24 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
[root@bogon ~]# systemctl stop firewalld

插件安装的过程。

快速搭建方式二:Docker运行

本文是在Mac环境下运行的,首先需要确保你的Mac上安装了 Virtualbox 以及 Docker。

我的环境版本如下:

Mac OS X EI Caption 10.11.6

Virtualbox 5.1.26

Docker 18.03.1-ce

使用Docker来运行 Jenkins 真的是太方便了,不用准备虚拟机节省了很多时间,具体步骤如下。昨天参加的DevOps大会上,JFrog的中国区负责人给出的Jenkins使用建议也是跑在容器中。

bogon:docker rousseau$ docker pull jenkinsci/blueocean
bogon:docker rousseau$ docker run -p 8080:8080 jenkinsci/blueocean

首先从docker hub上请求 jenkinsci/blueocean 的镜像,这一步骤会花一点时间,全部请求完成后,就可以执行第二步。

第一次启动 jenkins 的时候,会将初始密码以 log 的形式输出到终端上,要注意观察。后续的界面上也有密码存放文件位置的提示。

根据界面操作,我们就能到Jenkins的欢迎界面了。

参考资料:

1、Install Jenkins

Jenkins 快速搭建的更多相关文章

  1. 基于 Jenkins 快速搭建持续集成环境

      什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火 ...

  2. 基于 Jenkins 快速搭建持续集成环境--转

    源地址:http://www.ibm.com/developerworks/cn/java/j-lo-jenkins/ 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础 ...

  3. Jenkins 快速搭建持续集成环境

    持续集成概述 什么是持续集成 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域 ...

  4. Jenkins快速搭建持续集成

    基于Jenkins快速搭建持续集成环境 Jenkins+tortoisesvn+MSBuild做到持续集成 附Jenkins的使用:http://www.infoq.com/cn/articles/M ...

  5. Jenkins+Maven+SVN快速搭建持续集成环境(转)

    Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...

  6. 快速搭建Jenkins集群

    关于Jenkins集群 在Jenkins上同时执行多个任务时,单机性能可能达到瓶颈,使用Jenkins集群可以有效的解决此问题,让多台机器同时处理这些任务可以将压力分散,对单机版Jenkins的单点故 ...

  7. Docker Data Center系列(一)- 快速搭建云原生架构的实践环境

    本系列文章演示如何快速搭建一个简单的云原生架构的实践环境. 基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力. 1 整体规划 1.1 拓扑架构 1.2 基础 ...

  8. Cucumber+Rest Assured快速搭建api自动化测试平台

    转载:http://www.jianshu.com/p/6249f9a9e9c4 什么是Cucumber?什么是BDD?这里不细讲,不懂的直接查看官方:https://cucumber.io/ 什么是 ...

  9. Nginx学习笔记--001-Nginx快速搭建

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的R ...

随机推荐

  1. word2vec中的数学原理一 目录和前言

    最近在看词向量了,因为这个概念对于语言模型,nlp都比较重要,要好好的学习一下.把网上的一些资料整合一下,搞个系列. 主要参考:    word2vec 中的数学原理详解                ...

  2. 034 Spark Sql的入门介绍

    一:进程介绍 1.use sql 2.shark 3.spark sql 4.终止shark 5.进程线 二:spark sql细节介绍 1.hive 与sparkSql比较(以后具体学习) 2.使用 ...

  3. Hashmap jdk7 死循环

    如果理解的有问题,欢迎大家指正. https://www.cnblogs.com/webglcn/p/10587708.html jdk7的hashmap 由数组和链表组成,存在几个问题: 当key的 ...

  4. Xamarin iOS教程之使用按钮接接收用户输入

    Xamarin iOS教程之使用按钮接接收用户输入 Xamarin iOS使用按钮接接收用户输入 按钮是用户交互的最基础控件.即使是在iPhone或者iPad中,用户使用最多操作也是通过触摸实现点击. ...

  5. mysql where 条件中的字段有NULL值时的sql语句写法

    比如你有一个sql语句联表出来之后是这样的 id           name            phone                  status 1            张三     ...

  6. android onPause OnSavedInstance

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 活动 的 在暂停时候 这个方法  执行结束后,才会执行 下一个活动的 在创建时候 的那个 ...

  7. [Java]类的生命周期(上)类的加载和连接[转]

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 类加载器,顾名思义,类加载器(class loader)用来加载 Java 类到 Java ...

  8. 单源最短路模板 + hdu - 2544

    Floyd Floyd 本质上类似一种动态规划,dp [ i ] [ j ] = dp [ i ] [ k ] + dp[ k ] [ j ]. /** * Night gathers, and no ...

  9. ios优秀的第三方框架

    1.数据请求,object-c  AFNetworking 网址:https://github.com/AFNetworking/AFNetworking swift   Alamofire 网址:h ...

  10. linux和mac

    整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...