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. 【Java】链表中存储对象的问题

    更新: 在一次搜索“变量声明在循环体内还是循环体外”问题时,碰见了一个这样的代码,与本文类似,代码如下: Document [] old ......//这是数据源 EntityDocument[] ...

  2. Windows下 ffmpeg + labelImg 提取视频帧 得到图片集 并 标注图片 来 构造数据集

    构造数据集的流程 视频文件  >>  ffmpeg处理  >>  图片集  >>  labelImg进行标注  >>  标注好的数据集 准备ffmpeg ...

  3. Python3之turtle模块的使用

    Python3之turtle模块的使用     直接扣代码就行: import turtle as t t.pensize(4) t.hideturtle() t.colormode(255) t.c ...

  4. Python中的编码问题(encoding与decode、str与bytes)

    1 引言 在文件读写及字符操作时,我们经常会出现下面这几种错误: TypeError: write() argument must be str, not bytes AttributeError: ...

  5. oracle批量插入優化方案

    今天聽DBA説如果從一個表批量查詢出一批數據之後批量插入另外一張表的優化方案: 1)不寫歸檔日誌: 2)採用獨佔 關於insert /*+ append */我們需要注意以下三點: a.非歸檔模式下, ...

  6. SVN同步时报错:“Previous operation has not finished; run 'cleanup' if it was interrupted”

    SVN同步时报错:“Previous operation has not finished; run 'cleanup' if it was interrupted” 这大概是SVN之前的操作没有完成 ...

  7. 新手通过SVN向eclipse中导入项目注意事项

    该文章进行的前提是,jdk.eclipse.tomcat.maven已安装完成 要从svn上获取项目数据,首先要安装svn 1)通过help->installsoft->svn->a ...

  8. Ajax之xmlhttp.open()的用法

    1  问题描述: xmlhttp:open方法,请求页面的时候,更新页面数据后,第2次拿到的结果还是上次的信息 2  解决办法: 改用POST方式 3  说明: xmlhttp:open方法 创建一个 ...

  9. Jenkins持续集成环境, 如何自定义 maven repositories

    假设自定义的仓库路径为“/opt/repository”,那么在“系统管理-系统设置”中,修改“全局MAVEN_OPTS”的值为如下的内容: -Dmaven.repo.local=/opt/repos ...

  10. 为什么不要在 JavaScript 中使用位操作符?

    如果你的第一门编程语言不是 JavaScript,而是 C++ 或 Java,那么一开始你大概会看不惯 JavaScript 的数字类型.在 JavaScript 中的数字类型是不区分什么 Int,F ...