目的

在开发中,需要经常频繁的对测试服务器进行部署,而且在多人协同中开发经常遇到的问题就是别人更新了他的代码,而你去更新你的代码时并没有更新到别人的代码,导致测试环境的代码不是最新,当然这个问题也好解决,那就是每次更新的时候先获取版本控制器上面的代码,然后更新,当然每次这样操作都是耗时耗力的,如果是整个项目更新,一般项目至少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. HTML5文档结构 摘要

    <!DOCType html>--声明文档结构类型 <html lang=zh-cn> <head> <meta charset=utf-8> < ...

  2. 如何启动Intel VT-x

    如何启动Intel VT-x 5 在64bit win7系统下安装了Vmware10,然后安装64位的UbuntuKylin 14.04,想要打开UbuntuKylin,弹出如下对话框: 请问该如何启 ...

  3. Dijkstra算法——单源最短路算法

    一.介绍 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他各个节点的最短路径. 它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止. 适用于有 ...

  4. postman使用--构建工作流和newman

    构建工作流 在使用“Collection Runner”的时候,集合中的请求执行顺序就是请求在Collection中的显示排列顺序.但是,有的时候我们不希望请求按照这样的方式去执行,可能是执行完第一个 ...

  5. Kernel Stack Overflow(转)

    0x00 漏洞代码 stack_smashing.c #include <linux/init.h> #include <linux/module.h> #include &l ...

  6. Bootstrap 网页乱码

    问题:今天早上在实践bootstrap的时候,用EditPlus写代码,标签中包含了中文.在浏览器解析的时候中文部分生成的乱码.但是网页部分已经声明了使用utf-8的编码方式. 解决:网页字体正常显示 ...

  7. (19)zabbix Applications使用介绍

    介绍 Applications(我们翻译为应用程序)是item的一个组. 例如我们要监控MySQL,我们可以将所有和MySQL相关的item放到这个应用程序中. 例如MySQL的availabilit ...

  8. heartbeat+drdb+nfs实现高可用

    一.环境 nfsserver01:192.168.127.101 心跳:192.168.42.101 centos7.3 nfsserver02:192.168.127.102 心跳:192.168. ...

  9. python 中requests 模块用py2exe生成exe后SSL certificate exception的问题

    [('system library', 'fopen', 'No such process'), ('BIO routines', 'BIO_new_file', 'no such file'), ( ...

  10. Flux reference

    https://facebook.github.io/flux/docs/dispatcher.html#content 首先安装 npm install --save flux Dispatcher ...