最近在倒腾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. python自动化开发-[第十天]-线程、协程、socketserver

      今日概要 1.线程 2.协程 3.socketserver 4.基于udp的socket(见第八节) 一.线程 1.threading模块 第一种方法:实例化 import threading imp ...

    2. JDBC工具类

      package com.shundong.uitl; import java.sql.Connection; import java.sql.DriverManager; import java.sq ...

    3. python正则提取关键字

      python使用正则表达式提取关键字 import sys reload(sys) sys.setdefaultencoding("utf-8") import re ss = & ...

    4. Go 的构建模式

      Go 的八种 Build Mode exe (静态编译) exe (动态链接 libc) exe (动态链接 libc 和非 Go 代码) pie 地址无关可执行文件(安全特性) c-archive  ...

    5. MySQL8常见客户端和启动相关参数

      MySQL8常见客户端和启动相关参数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL常见的客户端 1>.使用MySQL服务自带的mysql连接工具 2>. ...

    6. Hbase balancer RSgroup shell 脚本

      #!/bin/bashTMP_FILE=tmp_groupsGROUPS_FILE=groups.txtecho "list_groups" | hbase shell > ...

    7. springboot下整合redis使用redisTemplate模板

      pom <!-- 引入 redis 依赖 --> <dependency> <groupId>org.springframework.boot</groupI ...

    8. Jquery 添加插件

      原文:http://www.iteye.com/topic/545971 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法 ...

    9. HDU 1006(时钟指针转角 **)

      题意是说求出在一天中时针.分针.秒针之间距离均在 D 度以上的时间占比. 由于三针始终都在转动,所以要分别求出各个针之间的相对角速度,分别求出三针满足角度差的首次时间,再分别求出不满足角度差的最终时间 ...

    10. vim学习之改头换面(基础配置)

      还记得在线有个维护博客园的学长说过,这网站的前端做的贼丑,今日一看果真如此.其实我想说毕竟干货多,没有那么多花花肠子.下面开始进入正题. 在入坑了sublime.vscode.atom.notepad ...