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. 为什么不要在Spring的配置里,配置上XSD的版本号

    为什么不要在Spring的配置里,配置上XSD的版本号?因为如果没有配置版本号,取的就是当前jar里的XSD文件,减少了各种风险.而且这样约定大于配置的方式很优雅.

  2. JS高级程序设计 表单部分

    目录:     表单:1.引用表单           2.提交表单           3.重置表单           4.表单字段 在HTML中,表单是由<form>元素来表示的,而 ...

  3. SSH免密登录机制

     SSH免密登录机制:(见下图) 1.A先使用ssh-keygen生成一对公钥和私钥:ssh-keygen 2.将A的公钥复制给B一份,并且将其追加到B的授权文件中:ssh-copy-id B 3.接 ...

  4. curl命令大全

    curl 命令行工具的使用及命令参数说明 curl是一个开源的用于数据传输的命令行工具与库,它使用URL语法格式,支持众多传输协议,包括:HTTP.HTTPS.FTP.FTPS.GOPHER.TFTP ...

  5. 007.LVM查看命令

    一 PV查看 [root@kauai ~]# pvdisplay #显示有关物理卷的信息 --- Physical volume --- PV Name /dev/sdb5 #PV名称 VG Name ...

  6. python文件相关操作

    Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...

  7. 利用cve-2017-11882的一次渗透测试

    利用工具:https://github.com/Ridter/CVE-2017-11882/ 影响版本: office 2003 office 2007 office 2010 office 2013 ...

  8. CSS动画简介

    现在,我很少写介绍CSS的文章,因为感觉网站开发的关键还是在服务器端. 但是,CSS动画除外,它实在太有用了. 本文介绍CSS动画的两大组成部分:transition和animation.我不打算给出 ...

  9. leetcode——169 Majority Element(数组中出现次数过半的元素)

    Given an array of size n, find the majority element. The majority element is the element that appear ...

  10. 导出文件在IE和火狐中文件名乱码问题的解决

    $ua = $_SERVER["HTTP_USER_AGENT"]; $filename = "客户数据.xls"; $encoded_filename = u ...