git +maven+java+jenkins自动化代码持续集成
1.安装JDK
JDK下载:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
新建安装目录:
mkdir /usr/local/java
解压安装:
tar -zxvf ./jdk-8u51-linux-x64.tar.gz -C /usr/local/java/
修改环境变量:
vim /etc/profile
添加:
#JAVA_HOME
export JAVA_HOME=/usr/local/java/jdk1.8.0_51/bin
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存退出
使profile文件生效:
source /etc/profile
将安装的jdk设置为默认版本:
update-alternatives --install /usr/bin/java java /usr/local/java/jdk1.8.0_51/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/local/java/jdk1.8.0_51/bin/javac 300
update-alternatives --install /usr/bin/jar jar /usr/local/java/jdk1.8.0_51/bin/jar 300
update-alternatives --config java
键入选择的编号:1

测试:出现如下信息则安装成功
java -version

2.安装tomcat
Tomcat下载:
http://tomcat.apache.org/download-80.cgi
新建tomcat安装目录
mkdir /usr/local/tomcat
解压安装
tar -zxvf ./apache-tomcat-8.0.24.tar.gz -C /usr/local/tomcat/
配置环境变量
vim /etc/profile
添加如下东西
#TOMCAT_HOME
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.0.24/
export PATH=${TOMCAT_HOME}/bin:$PATH
保存退出
使profile文件生效
source /etc/profile
测试:输入startup.sh 出现如下信息 安装成功
startup.sh

3.安装maven
下载地址:
http://maven.apache.org/download.cgi
安装:
tar -zxvf ./apache-maven-3.3.3-bin.tar.gz -C /usr/local/maven/
添加环境变量
vim /etc/profile
添加:
#MAVEN_HOME
export MAVEN_HOME=/usr/local/maven/apache-maven-3.3.3
export PATH=${MAVEN_HOME}/bin:$PATH
保存
使profile文件生效
source /etc/profile
测试:
mvn -v 出现如下信息表明maven配置成功

4.配置Tomcat与maven
新建maven本地库文件夹:
mkdir /usr/local/maven/apache-maven-3.3.3/maven-repo
进入mavenhome/conf目录:
对setting.xml配置可执行权限:
chmod 777 settings.xml
修改setting.xml文件:
vim settings.xml
添加如下内容
<localRepository>/usr/local/maven/apache-maven-3.3.3/maven-repo</localRepository>
<server></server>中添加如下内容
<server>
<id>tomcat</id>
<username>admin</username>
<password>admin</password>
</server>
保存 退出
进入tomcathome/conf目录
对tomcat-users.xml配置可执行权限:
chmod 777 tomcat-users.xml
编辑tomcat-users.xml:
vim tomcat-users.xml
添加如下内容:
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="admin"
roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>
保存,退出。
5.安装git
首先 更新系统:
sudo yum update
安装依赖的包
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
下载Git并解压
wget https://github.com/git/git/archive/v2.3.0.zip
unzip v2.3.0.zip
cd git-2.3.0
make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install
whereis git
配置git环境变量:
vim /etc/profile
添加:
export PATH=/usr/local/git/bin:$PATH
保存
使profile文件生效:
source /etc/profile
查看git版本:
git --version
出现如下内容表明安装成功

配置git:
git config --global user.name "zhangzhifei"
git config --global user.email "zhangzhifei@ganji.com"
查看配置信息:
cat ~/.gitconfig

创建版本库目录:
mkdir -p gitdemo
cd gitdemo
echo “README” > readme.txt
初始化版本库
git init

把当前目录下的所有文件全部添加到暂存区:
git add .
创建提交:
git commit -m "init"

查看git文件信息:

Git连接远程服务器:
cd ~/
mkdir .ssh
cd .ssh
ssh-keygen -t rsa -C "zhangzhifei@ganji.com"(填写自己邮箱地址)
出现以下提示表示,成功创建,期间会有提示按回车跟输入密码.建议一路回车按默认值即可。

添加ssh到github中:
vim id_rsa.pub

至此,git配置完成,下边测试:
cd ~
mkdir java
cd java
git clone ssh://git@192.168.2.215:9999/zhangzhifei/shopping.git 这是git项目地址

在此附上git常用命令以供使用:
git clone <address>:复制代码库到本地;
git add <file> ...:添加文件到代码库中;
git rm <file> ...:删除代码库的文件;
git commit -m <message>:提交更改,在修改了文件以后,使用这个命令提交修改。
git pull:从远程同步代码库到本地。
git push:推送代码到远程代码库。
git branch:查看当前分支。带*是当前分支。
git branch <branch-name>:新建一个分支。
git branch -d <branch-name>:删除一个分支。
git checkout <branch-name>:切换到指定分支。
git log:查看提交记录(即历史的 commit 记录)。
git status:当前修改的状态,是否修改了还没提交,或者那些文件未使用。
git reset <log>:恢复到历史版本。
6. 安装Jenkins:
下载:
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
安装:
yum install jenkins
配置jenkins端口:
vim /etc/sysconfig/jenkins
进入该文件,这个是jenkins的系统配置文件,
找到2处修改端口号:
JENKINS_PORT="8080"
JENKINS_AJP_PORT="8009"
默认是这样的,我们可以随意修改成自己需要的端口号,避免冲突(tomcat默认端口也是这样的)
这里作者修改成了:
JENKINS_PORT="8888"
JENKINS_AJP_PORT="8889"
接下来我们就可以尝试启动jenkins服务了:
sudo service jenkins start
若无法启动,操作如下:
我们可以看到jdk版本为1.7.0_25,复制该名称
vi /etc/init.d/jenkins
找到这段代码
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
我们会发现这里面没有叫1.7.0_25的文件目录
我们在这段代码后面加上
/usr/java/jdk1.7.0_25/bin/java
效果如下:
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
/usr/java/jdk1.7.0_25/bin/java
"
保存退出。重新执行启动命令。
若修改了默认端口,诸如8888,
防火墙开放8888端口
增加8888端口到防火墙配置中,执行以下操作:
[root@admin ~]# vi + /etc/sysconfig/iptables
#增加以下代码
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启防火墙
service iptables restart

一切OK.
7. Jenkins配置:
打开http://192.168.138.130:8888/

系统管理 -> 插件管理 -> 可更新插件
1. 更新全部可更新插件
2. 点击可选插件,选择并安装git plugin
系统管理 -> 系统设置
配置maven的setting.xml位置

配置JDK

配置GIT


邮件设置:

配置GIT:

邮件通知:

构建maven项目:



点击add 添加私钥:
复制id_rsa文件中的内容



保存 - 应用:
点击 立刻构建:

选择 console output

等待。。。。

部署成功。
git +maven+java+jenkins自动化代码持续集成的更多相关文章
- SpringCloud+Git+Maven+Docker+Jenkins自动化构建
1.JDK安装-OpenJDK安装 yum list java-1.8* yum install -y java-1.8.0-openjdk-devel.x86_64 PS: JDK安装有两种方法:一 ...
- Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建
详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署
前面又是废话 我之前写过: Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署 Asp.Net Core 程序部署到Linux(centos)生产环境(二):doc ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境
写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装
2019/1/31更新,经过我一段时间的使用 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用d ...
- 构建基于Jenkins + Github的持续集成环境
搭建持续集成首先要了解什么是持续集成,带着明确的目标去搭建持续集成环境才能让我们少走很多弯路.持续集成(Continuous integration)简称CI,是一种软件开发的实践,可以让团队在持续集 ...
- Jenkins——为什么使用持续集成?
一.开发模型 1.瀑布开发模型:过程线性不可逆的开发模型 优势: 1)简单易懂 2)当前阶段完成后只需要关注后续阶段 3)为项目提供了按阶段划分的检查节点 劣势: 1)各个阶段的划分完全固定,阶段之间 ...
- Selenium Web 自动化 - 项目持续集成(进阶)
Selenium Web 自动化 - 项目持续集成(进阶) 2017-03-09 目录 1 背景及目标2 环境配置 2.1 SVN的安装及使用 2.2 新建Jenkins任务3 过程分析 1 背景 ...
- Selenium Web 自动化 - 项目持续集成
Selenium Web 自动化 - 项目持续集成 2017-02-13 目录 1环境准备 1.1 安装git 1.2 安装jenkins 1.3 安装jenkins插件 1.4 jekins ...
随机推荐
- DotNetBar的使用—(界面风格)
C# WinForm项目中自带的窗体风格很普通,一点都不美观.DotNetBar就是一套.NET美化控件库,有70几个控件以及多种界面的皮肤风格.关于控件的效果在官网上进行查看http://www.d ...
- AGC009:Eternal Average
传送门 好神啊 直接考虑一棵 \(n+m\) 个叶子的 \(k\) 叉树,根结点权值为 \(\sum_{i\in m}(\frac{1}{k})^{deep_i}\) 对于一个 \(deep\) 的序 ...
- 使用 Leaflet 显示 ArcGIS 生成西安80坐标的地图缓存
Leaflet 是一个非常小巧灵活的 Geo js 库,esri 本身也在 Github 上有 leaflet 的相关项目.但是 leaflet 本身支持 Web Mercator Auxiliary ...
- sql 内连接 子查询 合并查询
-- 内连接:-- 显示员工姓名.工资和公司所在地 select e.ename, e.sal, d.dname from emp e,dept d; -- 笛卡尔积 select e.ename, ...
- JVM知识(五):垃圾回收算法
在介绍垃圾回收算法之前,我们需要先了解一个词“stop the world”,stop the world会在执行某一个垃圾回收算法的时候产生,JVM为了执行垃圾回收,会暂时java应用程序的执行,等 ...
- Linux学习之CentOS(一)----在VMware虚拟机中安装CentOS 7
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- jquery validation表单验证插件2。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- web assembly是什么,能干什么
web assembly混合javascript和另外底层语言编译的模块,共同运行.将js的高级,易用及c/c++的高效底层优势结合起来. 最可能的用处是提供一种可行的方法将原来的c/c++应用por ...
- nginx 的socket 选项处理--TCP_DEFER_ACCEPT
在nginx listen配置项的说明中有一个选项: deferred -- indicates to use that postponed accept(2) on Linux with. the ...
- 需要警惕的linux命令
Linux shell/terminal命令非常强大,即使一个简单的命令就可能导致文件夹.文件或者路径文件夹等被删除.为了避免这样的事情发生,我们应该时刻注意PHP代码&命令,今天为大家带来9 ...