Jenkins_Maven_Git 持续集成及自动化部署 GentOS版
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

等待。。。。

部署成功。
Jenkins_Maven_Git 持续集成及自动化部署 GentOS版的更多相关文章
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- NET持续集成与自动化部署
https://www.cnblogs.com/hunternet/p/9590287.html 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们 ...
- .NET 半天搭建Jenkins持续集成与自动化部署系统
前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由 ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(三):搭建jenkins集群环境
写在前面 大家可以看到本文的配图,左边是jenkins单机环境,右边是jenkins集群.个中区别,不言而喻,形象生动. 前面我分别介绍了.net core 程序的多种部署方式(无绝对孰优孰劣): 1 ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署
前面又是废话 我之前写过: Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署 Asp.Net Core 程序部署到Linux(centos)生产环境(二):doc ...
- Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装
2019/1/31更新,经过我一段时间的使用 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用d ...
- .NET持续集成与自动化部署之路第二篇——使用NuGet.Server搭建公司内部的Nuget(包)管理器
使用NuGet.Server搭建公司内部的Nuget(包)管理器 前言 Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基 ...
- .NET持续集成与自动化部署之路第三篇——测试环境到生产环境的一键部署策略(Windows)
Jenkins测试环境到生产环境的一键部署策略(Windows) 一.前言 前面我们已经初步实现了开发集成环境.测试环境的持续集成(自动化构建.自动化测试.自动化部署).但生产环境自动化部署迟 ...
- Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记
前言 持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新 ...
随机推荐
- RxAndroid/java小记
Rxandroid 作为一个在设计模式中能把MVP发挥的淋漓尽致的框架不去学习感觉真的对不起自己,然后也学点新东西吧,响应式编程,MVP观察者模式,然后使用RxAndroid使我们自己的代码更加简洁 ...
- 从PDF中提取信息----PDFMiner
今天由于某种原因需要将pdf中的文本提取出来,就去搜了下资料,发现PDFMiner是针对 内容提取的,虽然最后发现pdf里面的文本全都是图片,就没整成功,不过试了个文本可复制的 那种pdf文件,发现还 ...
- ant学习简单例子
1.下载ant,http://ant.apache.org/ 这个网站下载,然后配置环境变量 打开dos界面,输入ant -version,如果提示命令不存在,进入到ant包装目录bin下载,再次运行 ...
- Mina的ProtocolEncoderOutput之坑
这个问题是之前测试上万个连接的pingpong发现的,调了很久,但当时急着做其他事,就没有详细记录下来,现在回想起来也有点记不清具体哪儿了. 表现是在测试上万个连接的pingpong时会出现服务器挂起 ...
- IIS发布网站出现“未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。”的解决方法
未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项.试图加载格式不正确的程序. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈 ...
- zend studio 9 字体,颜色,快捷键等相关设置
1.zend studio 9可以破解吗? 可以的,具体破解步骤查看:http://www.geekso.com/ZendStudio9-key/ 2.如何将zend studio 9的默认GBK编码 ...
- 用 highlight.js 为文章中的代码添加语法高亮
来源:http://www.ghostchina.com/adding-syntax-highlighting-to-ghost-using-highlight-js/ --------------- ...
- 前端面试题2016--CSS
介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种,IE 盒子模型.W3C 盒子模型:(2)盒模型:内容(content).填充(padding).边界(margin). ...
- Java: RandomAccessFile
RandeomAccessFile虽然是java.io中的成员,但该类只继承了Object类,实现了DataOut, DataIn, Closeable等接口.此类的实例支持对文件的随机访问和读取.随 ...
- Android数据存储方式
Android提供了5种方式存储数据: 1.使用SharedPreferences存储数据:它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中.只能在同一个 ...