目的

在开发中,需要经常频繁的对测试服务器进行部署,而且在多人协同中开发经常遇到的问题就是别人更新了他的代码,而你去更新你的代码时并没有更新到别人的代码,导致测试环境的代码不是最新,当然这个问题也好解决,那就是每次更新的时候先获取版本控制器上面的代码,然后更新,当然每次这样操作都是耗时耗力的,如果是整个项目更新,一般项目至少3、40M上传到服务器也需要一定的时间,而部分更新,也需要找到指定的文件或者整个代码覆盖,然后重启服务器(Tomcat里面直接覆盖class虽然可以配置热加载,但是容易内存溢出),就我工作中的情况而言,是每次都需要先把代码上传到服务器-解压-找到Tomcat进程id(Linux)-kill线程-启动Tomcat,每次下来就需要最少几分钟时间,而且每天有可能多次部署,所以对整个工作效率是有一定影响的。正是因为以上种种,所以才有了本文,而本文最终的结果就是一旦代码上传到Git或者svn的时候,代码能自动部署到服务器上面去,这样我们就只需要吧正确的代码提交的版本控制器,就不用理会服务器的更新了

安装jenkins

1  安装JDK1.7
yum list installed |grep java
yum -y list java*
yum -y install java-1.7.0-openjdk*
java -version
java version "1.7.0_181"
OpenJDK Runtime Environment (rhel-2.6.14.8.el7_5-x86_64 u181-b00)
OpenJDK 64-Bit Server VM (build 24.181-b00, mixed mode)
ll /etc/alternatives/java
lrwxrwxrwx 1 root root 76 May 23 09:23 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre/bin/java
cd /usr/lib/jvm
ll
total 4
lrwxrwxrwx  1 root root   26 May 23 09:23 java -> /etc/alternatives/java_sdk
lrwxrwxrwx  1 root root   32 May 23 09:23 java-1.7.0 -> /etc/alternatives/java_sdk_1.7.0
lrwxrwxrwx  1 root root   40 May 23 09:23 java-1.7.0-openjdk -> /etc/alternatives/java_sdk_1.7.0_openjdk
drwxr-xr-x 10 root root 4096 May 23 09:23 java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
lrwxrwxrwx  1 root root   34 May 23 09:23 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx  1 root root   21 May 23 09:23 jre -> /etc/alternatives/jre
lrwxrwxrwx  1 root root   27 May 23 09:23 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx  1 root root   35 May 23 09:23 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx  1 root root   54 May 23 09:23 jre-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64 -> java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre
lrwxrwxrwx  1 root root   29 May 23 09:23 jre-openjdk -> /etc/alternatives/jre_openjdk

java的home目录是:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64

vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile
echo $JAVA_HOME
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64
 echo $CLASSPATH
 .:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/jre/lib/rt.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/lib/dt.jar:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.181-2.6.14.8.el7_5.x86_64/lib/tools.jar

卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*。
◆卸载tzdata-java输入:yum -y remove tzdata-java.noarch。
当结果显示为Complete!即卸载完毕。

2)安装Tomcat7+jenkins.war环境

拷贝jenkins.war到tomcat的webapps文件夹下,如果tomcat是启动的,jenkins项目会自动解压启动的,如果tomcat是停止的,需要启动tomcat服务,进入bin文件夹,linux环境下执行 ./startup.sh即可启动服务

然后,访问地址:http://ip:8080/jenkins ,具体ip为你部署的机器的ip, 看到如下界面,那么恭喜你,jenkins启动了。

地址:https://jenkins.io/index.html,  本人下载了2.19.3版本的war包:jenkins.war包不能混用,否则会报错。

Tomcat7下载地址:http://tomcat.apache.org/download-70.cgi

直接将 jenkins.war拷贝到/usr/local/tomcat7/webapps目录下,webapps目录下原来的内容全部删除(如果不删除也可以)
[root@115 webapps]# pwd
/usr/local/tomcat7/webapps
[root@115 webapps]# ll
-rw-r--r--. 1 root root 63664946 2月 3 22:26 jenkins.war

修改tomcat的配置文件,确保使用UTF-8编码(如下添加URIEncoding="UTF-8"),以防jenkins出现中文乱码:
[root@115 conf]# pwd
/usr/local/tomcat7/conf
[root@jenkins-server conf]# vim server.xml
........
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

设置系统环境变量,在/etc/profile底部添加下面内容
[root@115 conf]# vim /etc/profile
.......
JENKINS_HOME="/usr/local/tomcat7/webapps/jenkins"
export JENKINS_HOME

使之生效
[root@115 conf]# source /etc/profile
[root@115 conf]# echo $JENKINS_HOME
/usr/local/tomcat7/webapps/jenkins

然后重启tomcat服务

[root@115 webapps]# /usr/local/tomcat7/bin/startup.sh

显示tomcat start表示启动起来了。

[root@115 webapps]# lsof -i:8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 45515 root 46u IPv6 47030248 0t0 TCP *:radan-http (LISTEN)

[root@115 webapps]# pwd
/usr/local/tomcat7/webapps
[root@115 webapps]# ll
total 62180
drwxr-xr-x. 9 root root 4096 Oct 30 20:39 jenkins
-rw-r--r--. 1 root root 63664946 Oct 30 20:38 jenkins.war

3)web访问,访问的密码在/usr/local/tomcat7/webapps/jenkins/secrets/initialAdminPassword下

http://ip:8080/jenkins

Jenkins拥有很多插件,一般在开始我们并不清楚需要什么插件的时候,可以选择自定义安装,把所有基本的插件全部安装好,此页面第一个按钮是安装推荐插件,第二个是自己选择安装,这里我选择第二个按钮。

此界面是初始化安装插件的界面,先选择All插件,然后点击install

在这个界面需要多等一下,因为是在网上下载插件,而且是外国的网站,所以经常有下载失败的情况,最好打开V梯P子N,当所有插件安装完成后会有continue按钮出现,如果没有则刷新一下页面,当然也可能存在有插件安装失败,根据自己是否需要自行选择retry或continue,这里因为我的都已经安装完成了,所以进入到了下一个页面.

各种插件安装完后,开始设置账户信息,以后用此账户登录jenkins。

其他具体的配置详看:

http://blog.51cto.com/linuxg/1790033

jenkins之Tomcat7+jdk1.7+jenkins的更多相关文章

  1. Linux+Tomcat+Jdk1.8+jenkins环境搭建

    1.下载jdk的rpm安装包,这里以jdk-8u191-linux-x64.rpm为例进行说明 下载地址:https://www.oracle.com/technetwork/java/javase/ ...

  2. Jenkins自动构建gitlab项目(jenkins+maven+giltlab+tomcat)

    环境准备: System:CentOS 7.3 (最小化安装) JDK: 8u161 (1.8_161) tomcat: 8.5.29 Jenkins: Jenkins 2.107.1 Gitlab: ...

  3. centos下搭建Jenkins持续集成环境(安装jenkins)

    1.安装JDK yum install -y java 2.安装jenkins 添加Jenkins库到yum库,Jenkins将从这里下载安装. 1 wget -O /etc/yum.repos.d/ ...

  4. [原]Jenkins(一)---我理解的jenkins是这样的

    /** * lihaibo * 文章内容都是根据自己工作情况实践得出. *版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5330 ...

  5. Jenkins学习五:更改Jenkins的主目录

    工作中,由于Jenkins默认的主目录空间太小,导致需要将Jenkins默认的主目录修改到其它目录.本文针对更改Jenkins的主目录详细介绍. 注意:在Jenkins运行时是不能更改的. 请先将Je ...

  6. 集成Jenkins Notifier for Chrome到Jenkins CI

    Jenkins也算是现在最流行的CI工具了,我们team也使用它来做持续化集成的工作.最近需要增加弹出式窗口来提醒相关人员job的状态,故选择Jenkins Notifier for Chrome这个 ...

  7. MyEclipse10 Tomcat7 JDK1.7 配置

    第一步.MyEclipse10 Tomcat7 JDK1.7下载 MyEclipse10http://downloads.myeclipseide.com/downloads/products/ewo ...

  8. node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins

    前言 每次项目代码更新后都要重新部署,如果只有一台服务器还好. 但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了. 这里用几篇文章来记录一下如何使用Jenkins,Doc ...

  9. Jenkins技巧:如何更新Jenkins到最新版本

    ----------------------------------------------------------------- 原创博文,未经作者允许禁止转载. 博主:疲惫的豆豆 链接:http: ...

随机推荐

  1. WebService学习之旅(五)基于Apache Axis2发布第一个WebService

    上篇博文介绍了如何將axis2 webservice引擎安装到Web容器中,本节开始介绍如何基于apache axis2发布第一个简单的WebService. 一.WebService服务端发布步骤 ...

  2. VS2010每次编译都重新编译 解决方案

    今天用VS2010的时候遇到这个问题,总搞不定,关掉重启各种尝试都木有用,最后突然发现项目的生成时间总是2009年...好吧,原来刚才笔记本死机了,我把笔记本拆了,拔下电池,擦了擦内存条,导致系统时间 ...

  3. pingall脚本

    p i n g a l l:一个按照/ e t c / h o s t s文件中的条目逐一p i n g所有主机的脚本 它能够按照/ e t c / h o s t s文件中的条目逐一p i n g所 ...

  4. 洛谷 P1165 日志分析

    题目描述 M 海运公司最近要对旗下仓库的货物进出情况进行统计.目前他们所拥有的唯一记录就是一个记录集装箱进出情况的日志.该日志记录了两类操作:第一类操作为集装箱入库操作,以及该次入库的集装箱重量:第二 ...

  5. (九)mybatis之生命周期

    生命周期   SqlSessionFactoryBuilder   SqlSessionFactoryBuilder的作用就是生成SqlSessionFactory对象,是一个构建器.所以我们一旦构建 ...

  6. (八)mybatis之映射器

    映射器 映射器是由Java接口和XML文件(或注解)共同组成的,作用如下: ①   定义参数类型. ②   描述缓存. ③   描述SQL语句. ④   定义查询结果和POJO的映射关系. 以下用两种 ...

  7. 利用python进行数据分析2_数据采集与操作

    txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...

  8. Java Miniui实现批量上传文件demo 201906221520

    可能需要的jar包: 需要miniui(类似easyui). Test2019062201.jsp <%@ page language="java" contentType= ...

  9. var、let、const声明变量的区别

    let和var声明变量的区别:1.let所声明的变量只在let命令所在的代码块内有效.(块级作用域) for(let i=0;i<10;i++){ // ... } console.log(i) ...

  10. python之文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)的作用

    'r':只读.该文件必须已存在. 'r+':可读可写.该文件必须已存在,写为追加在文件内容末尾. 'rb':表示以二进制方式读取文件.该文件必须已存在. 'w':只写.打开即默认创建一个新文件,如果文 ...