最近在倒腾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这一项,根据需求修改即可.

    最新文章

    1. TCP Provider The semaphore timeout period has expired
    2. WPF 资源字典【转】
    3. ios开发之网络数据的下载与上传
    4. 异常捕捉 ( try catch finally ) 你真的掌握了吗?
    5. cf 320B
    6. 垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
    7. PHP 7 探针的安装与测试
    8. JAVA中的finalize()方法
    9. 加入BOINC(伯克利开放式网络计算平台)
    10. codeforces 10 D. LCIS LCIS O(n^2)算法
    11. php 写商城网站的总结吧
    12. [读书笔记] 二、条件注解@Conditional,组合注解,元注解
    13. Lucene第二篇【抽取工具类、索引库优化、分词器、高亮、摘要、排序、多条件搜索】
    14. 前端node.js npm i 报错Unexpected end of JSON input while parsing near
    15. JavaScript面试技巧(三):开发环境、运行环境
    16. sql添加一个list的查询条件
    17. 使用mybatis中的自定义TypeHandler处理PostgreSQL中的Json类型字段
    18. 视频转换ffmpeg
    19. 基于jQuery仿迅雷影音官网幻灯片特效
    20. ubuntu16.04 nginx安装

    热门文章

    1. R语言模块安装
    2. 设计模式---状态变化模式之备忘录模式(Memento)
    3. C语言:使用结构体和指针函数实现面向对象思想(OO编程)
    4. Leetcode 136 Single Number 仅出现一次的数字
    5. HDU - 1255 覆盖的面积 (线段树求面积交)
    6. 使用Calender类获取系统时间和时间和运算
    7. Sliverlight常见错误集锦
    8. 六.HashMap HashTable HashSet区别剖析总结
    9. Extjs 设置GridPanel单元格可选择高兼容写法
    10. IScroll基本用法