最近在倒腾Kubernetes的一些东西,这次需要用到Jenkins来实现自动化构建.来讲一讲搭建的整个过程.

Jenkins是什么

Jenkins提供了软件开发的持续集成服务.它运行在Servlet容器中(例如Apache Tomcat).它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令

CentOS7下Jenkins搭建过程

Jenkins需要jdk环境:【Linux】CentOS7.0下安装JDK环境

接下来我们开始准备安装Jenkins,几条命令即可(#后面为注释内容):

#下载Jenkins库
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
#导入key
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
#安装Jenkins
yum install -y jenkins
#启动Jenkins服务
systemctl start jenkins

到这里,CentOS下Jenkins搭建便是完成了.

此时我们可以通过ip:port的方式,访问到Jenkins,如下图所示



点击Continue之后,会出现下图:



然后根据自己的需求,进行安装即可.到此,CentOS下Jenkins搭建便是完成了.

可能遇到的问题
  • Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code.
  • 运行命令:systemctl status jenkins.service  查看错误详细信息



    请注意我在图中标注出来的两个地方,第一个地方是Jenkins加载的路径,第二个地方是Jenkins的错误详细信息:Failed to start LSB: Jenkins Automation Server

    这是因为Jenkins 未加载到 java 环境的问题,直接修改 Jenkins 的启动文件,并在 candiddates 参数内追加 java 的环境变量即可

    Jenkins的启动文件,在图中第一个地方我已经做了标注,所以运行以下命令:

    vi /etc/rc.d/init.d/jenkins

    具体修改见下图:



    关于java环境变量这部分,因为每个人的配置不同,所以你需要根据自己的实际情况做修改.如果是按照我开篇给出的方法安装的jdk环境,可以直接套用.然后再做以下步骤即可(#后内容为注释内容):

    #重新启动Jenkins服务
    systemctl restart jenkins.service
    #查看Jenkins服务,可以看到服务已经起来了
    systemctl status jenkins.service
  • 在CentOS环境下,Jenkins已经安装好了,但是在外部访问不到.这可能是因为防火墙的问题.出于安全的考虑,我是不建议直接将防火墙关掉的.开启Jenkins需要的端口即可(以开启8080端口为例,具体可根据自己需求更改):
  • 开端口命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent
    重启防火墙:systemctl restart firewalld.service
  • 因为Jenkins默认端口是8080,可能会导致端口冲突.修改Jenkins的默认端口即可:
  • vi /etc/sysconfig/jenkins
    在该配置文件中,可以看到JENKINS_PORT这一项,根据需求修改即可.

    [Jenkins]CentOS7下Jenkins搭建的更多相关文章

    1. Centos7 下Jenkins 安装

      前言:什么是Jenkins? Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. 一.下载 wg ...

    2. centos7下jenkins升级

      systemctl stop jenkins cd cd /usr/lib/jenkins/ mv jenkins.war jenkins.war.bac rz #上传下载好的最新jinkens.wa ...

    3. k8s v1.18.2 centos7 下环境搭建

      准备 服务器:3台机器--1台主.2台工作节点,可以使用virtualbox 搭建虚拟机 主机名 centos version ip docker version flannel version 主机 ...

    4. CentOS7下Nginx搭建反向代理,并使用redis保存session

      1.启动两个tomcat,端口分别为8080,8081 2.配置nginx,vim /usr/local/nginx/conf/nginx.conf 添加如下配置: 3.启动nginx或热加载 启动: ...

    5. centos7 下 nfs 搭建总结

      nfs一般用于生产环境磁盘空间不足导致数据无法写入,从而通过异机远程挂载磁盘方式解决问题. 一. rpm -qa | grep nfs-utils rpm -qa | grep rpcbind 二. ...

    6. Centos7 下nginx 搭建文件图片服务器

      现在服务器部署nginx yum install -y epel-release yum install nginx -y 安装完成之后 访问ip 由此可见nginx服务是可用的 修改nginx的配置 ...

    7. centos7下找不到iptables文件

      最近在centos7下,搭建ftp服务,按照步骤一步一步来,发现 etc/sysconfig/iptables这个文件并不存在,然后去找解决方案, 原文地址:http://blog.csdn.net/ ...

    8. CentOS7下Docker中构建Jenkins容器

      背景 在CentOS搭建Docker完成后,我们需要在Docker中搭建Jenkins用来实现工程自动部署. 安装前提 jdk已安装,安装目录如:usr/java/jdk1.8.0_161 maven ...

    9. mac下 jenkins 环境搭建

      这几天搞了一些持续集成的工作,在所难免的接触到了jenkins ,下边写一下jenkins 在 mac os 环境下的搭建和配置. 1.tomcat 下载 前往apache 官网下载所需版本的tomc ...

    随机推荐

    1. C# 正则表达式中的顺序环视和逆序环视

      环视结构不匹配任何字符,只匹配文本中的特定位置. 顺序环视:从左向右查看文本,尝试匹配子表达式,如果能够匹配则返回匹配成功信息.顺序环视使用「 (?=...) 来标识」,例如「 (?=\d) 」,它表 ...

    2. Zabbix Server 自带模板监控有密码MySQL数据库

      Zabbix Server 自带模板监控有密码MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.Zabbix-agent端的配置 1>.为数据库设置密码 ...

    3. 面向对象【林老师版】:__init__定制自己独有的特征(三)

      本节内容 1.是如何产生对象 2.实例化的步骤 3.类即类型 一.是如何产生对象? __init__方法用来为对象定制对象自己独有的特征 1.stu1=LuffyStudent()调用报错 1.代码 ...

    4. MyBatis-CURD

      一.接口方法 /** * 删除.修改.添加操作都可以返回三种类型 * Integer.Long.Boolean */ public interface MyUserMapper { public My ...

    5. SQL记录-ORACLE 12C初体验

      1.部署 2.使用

    6. ES学习之分片路由

      本文主要内容: 1.路由一个文档到一个分片 2.新建.索引和删除请求 3.取回单个文档 4.局部单个文档 5.多文档模式 6.理解一下ES深度分页(from-size)的劣势 路由一个文档到一个分片 ...

    7. HDU - 1698 Just a Hook (线段树区间修改)

      https://cn.vjudge.net/problem/HDU-1698 题意 大小为n的数组,数组元素初始值为1,有q次操作,x,y,z表示从第x到第y所有的元素的值变为z,最后问1到n的和. ...

    8. Linux下main函数启动过程【程序员自我修养笔记】【自用】

      1. 入口函数和程序初始化 1.1 程序从main开始吗? 当程序执行到main函数的第一行时,很多事情都已经完成了: [证1]如下是一段C语言代码: 代码中可以看到,在程序刚刚执行到main的时候, ...

    9. Golang入门教程(六)关键字和数据类型

      在 Go 编程语言中,数据类型用于声明函数和变量. 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存. 一.25个关键字 二.18 ...

    10. mybatis-configxml样板

      <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...