一、安装

1、使用yum本地安装

1.1、使用yum安装JDK

a、检查系统是否有安装open-jdk

  • rpm -qa |grep java
  • rpm -qa |grep jdk
  • rpm -qa |grep gcj

如果没有输入信息表示没有安装。

如果安装可以使用rpm -qa | grep java | xargs rpm -e --nodeps 批量卸载所有带有Java的文件  这句命令的关键字是java

b、检索yum中包含java的列表

  • yum list java*

c、检索1.8的列表

  • yum list java-1.8*

d、安装1.8

安装1.8.0的所有文件:

  • yum install java-1.8.0-openjdk* -y

或只安装部分

  • yum  install  java-1.8.0-openjdk   java-1.8.0-openjdk-devel      安装JDK,如果没有java-1.8.0-openjdk-devel就没有javac命令

e、使用命令检查是否安装成功

java -version

1.2、使用yum安装jenkins

yum list jenkins* 此时查不出jenkins包

将jenkins库加入到yum库中

  • sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
  • sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

此时可以查到jenkins包了

  • yum list jenkins*

查看历史版本

  • yum list --showduplicate jenkins*

安装最新版本

  • yum install -y jenkins

安装指定版本

  • yum install jenkins 2.150.3-1.1

查看jenkins安装地址

jenkins相关目录释义:

  • /usr/lib/jenkins/:jenkins安装目录,war包会放在这里。
  • /etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在这里配置。
  • /var/lib/jenkins/:默认的JENKINS_HOME。
  • /var/log/jenkins/jenkins.log:jenkins日志文件。
修改Jenkins端口
  • vim /etc/sysconfig/jenkins
  • 按I开始编辑
  • ESC->:->wq->回车 保存
  • q无修改退出
  • q!不保存退出
  • !强制退出

启动Jenkins

查看端口占用情况

  • netstat -ntlp

创建为服务

  • service jenkins start/stop/restart
  • 安装成功后Jenkins将作为一个守护进程随系统启动
  • 系统会创建一个“jenkins”用户来允许这个服务,如果改变服务所有者,同时需要修改/var/log/jenkins, /var/lib/jenkins, 和/var/cache/jenkins的所有者
  • 启动的时候将从/etc/sysconfig/jenkins获取配置参数
  • 默认情况下,Jenkins运行在8080端口,在浏览器中直接访问该端进行服务配置
  • Jenkins的RPM仓库配置被加到/etc/yum.repos.d/jenkins.repo
  • 查看服务启动情况:service --status-all
  • 查看运行日志:tail /var/log/jenkins/jenkins.log -n 100

直接启动

  • 使用这种方式,端口配置无效,需要手动给配置参数
  • java -jar /usr/lib/jenkins/jenkins.war --ajp13Port=-1 --httpPort=8899
  • ajp13Port:
  • $ AJP_PORT运行在使用标准端口$ AJP_PORTjenkins监听AJP13协议。默认端口号为8009。要禁用(因为你使用的是HTTPS),使用端口-1。

2、使用Docker安装(暂略)

2、Jenkins的使用

2.1、初始化

初次进入需要输入密码,在提示的路径中可以获取到

安装插件

选择“Install suggested plugins”安装默认的插件,下面Jenkins就会自己去下载相关的插件进行安装。

安装失败也没有关系,会有一个重新安装的按钮,好像重装1次就行了,即使不行,可以进入系统后再安装。

创建用户

进入主界面

配置Jenkins

配置工具

2.2、创建项目

创建一个项目

配置代码SVN地址

 

创建Maven构建步骤

 

即可看到构建结果

实例:

在Jenkins中创建构造shell脚本执行项目时,运行docker语句,报错

错误信息:

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/lt-spring-cloud_zuul_1/stop: dial unix /var/run/docker.sock: connect: permission denied
Build step 'Execute shell' marked build as failure

如下处理:

将jenkins用户加入docker组

重启Jenkins服务

sudo gpasswd -a jenkins docker

sudo service jenkins restart

自动安装的maven本地仓库地址:/var/lib/jenkins/.m2/repository

注意.m2是隐藏文件夹,需要ls -a才能看到

启动失败,设置了端口为1001,java -jar可以启动,但是service不能启动

查看日志/var/log/jenkins/jenkins.log

tail /var/log/jenkins/jenkins.log -n 100

发现jetty启动的时候,提示没有权限

原因是非root用户,不能使用1024以下的端口

最后改成2001就可以访问了

运行Shell报错:command not found

执行脚本,提示

docker-compose: command not found

原因是没有设置环境变量

1、控制台执行 echo $PATH

把输出的这句话复制

2、jenkins->系统管理->系统设置

勾选Environment variables,添加键值,键:PATH,值:刚才复制的那句话

OK了!

【Java架构:持续交付】一篇文章搞掂:Jenkins的更多相关文章

  1. 【已转移】【Java架构:系统架构理论】一篇文章搞掂:RESTful

    一.定义 1.起源 来源:Roy Fielding的博士论文. 目的:理解和评估以网络为基础的应用软件的架构设计,得到一个功能强.性能好.适宜通信的架构. 定义:一种实现软件通信的架构风格.设计风格, ...

  2. Java 集合详解 | 一篇文章解决Java 三大集合

    更好阅读体验:Java 集合详解 | 一篇文章搞定Java 三大集合 好看的皮囊像是一个个容器,有趣的灵魂像是容器里的数据.接下来讲解Java集合数据容器. 文章篇幅有点长,还请耐心阅读.如只是为了解 ...

  3. 【Java架构:持续交付】一篇文章搞掂:持续交付理论

    一.持续集成.持续交付.DevOps概念,关系等 持续集成(Continuous integration/CI) 持续交付(Continuous delivery/CD) 持续部署() 持续 (Con ...

  4. N个任务掌握java系列之统计一篇文章中单词出现的次数

    问题:统计一篇文章中单词出现的次数 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中. (2)定义一个Map,key是字符串类型,保存单词:valu ...

  5. 【已转移】【Java架构:基础技术】一篇文章搞掂:Spring

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<SPRING实战第4版>的总结,大家也可以去仔细研读该书 [------------------------ ...

  6. 【Java架构:基础技术】一篇文章搞掂:Spring Boot

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<Spring Boot 实战第4版>的总结,大家也可以去仔细研读该书 注意,书中使用的Spring Boot ...

  7. 【已转移】【Java架构:基础技术】一篇文章搞掂:Java 8

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.Java的历史与演变 目的:为完全了解Java,需要理解Java的诞生原因.成型动力以及他继承的思想. 计算机语言的创新与发展 ...

  8. 【Java架构:进阶技术】——一篇文章搞掂:JVM调优

    Sun官方定义的Java技术体系: Java程序设计语言 各种硬件平台上的Java虚拟机 Class文件格式 Java API类库 来自商业机构和开源社区的第三方Java类库 JDK(Java Dev ...

  9. 【Java架构:基础技术】一篇文章搞掂:MyBatis-Plus

    前言 Mybatis:一个流行的半自动ORM框架. Mybatis-Plus:一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发.提高效率而生. 本文使用的版本:myb ...

随机推荐

  1. JS验证数字

    //1.验证数字 var reg = new RegExp("^[0-9]*$"); //var reg = /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+ ...

  2. 学习ECMAScript标准和具体实现-JavaScript

    在NDN的JavaScript Guide里,Array和Map,Set都属于collections of data.它们的区别就是,Array是ordered by an index value,  ...

  3. Zepto v1.0-1源码注解

    /* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event ajax form fx - zeptojs.com/license */ ;(funct ...

  4. Java-多线程第三篇3种创建的线程方式、线程的生命周期、线程控制、线程同步、线程通信

    1.Java使用Thread类代表线程.     所有的线程对象必须是Thread类或其子类的实例. 当线程继承Thread类时,直接使用this即可获取当前线程,Thread对象的getName() ...

  5. [已解决]报错: warning: LF will be replaced by CRLF in lib/anime.min.js

    git config --global core.autocrlf false

  6. Codeforces - 1194C - From S To T - 子序列 - 排序

    https://codeforces.com/contest/1194/problem/C 好像没什么好说的,要能构造s必须是t的子序列,并且相差的字符集合d是p的子集. 用双指针法求两遍子序列就可以 ...

  7. 【JMeter5.0】Mac安装JDK和JMeter5

    之前讲了Windows下安装JDK和JMeter4.0的方法,其实不论操作系统是Windows.Mac OS.Linux等,JMeter所需要的基础环境配置都是类似的,本文介绍JMeter for M ...

  8. 【接口工具】接口抓包工具之Charles

    上篇我们讲了Fiddler,Fiddler是用C#开发的,所以Fiddler不能在Mac系统中运行,没办法直接用Fiddler来截获MAC系统中的HTTP/HTTPS, Mac 用户怎么办呢? 1.F ...

  9. JavaScript深入之类数组对象与arguments(转载)

    类数组对象 所谓的类数组对象: 拥有一个 length 属性和若干索引属性的对象 举个例子: var array = ['name', 'age', 'sex']; var arrayLike = { ...

  10. 20180308-Python内置方法

    先大致粗略的说一下反射的概念,不是很准确,后续详细讲解: 1. 以字符串的形式,导入模块 2. 以字符串的形式,获取模块内部的函数,并执行 通常我们想在一个模块中导入另外一个模块,则需要通过 impo ...