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搭建持续集成和自动化部署的配置手记
前言 持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新 ...
随机推荐
- SQL函数之---DECODE函数
Decode函数是oracle/SQL提供的特有函数计算方式,语法:DECODE(value,if1,then1,if2,then2,if3,then3,...else),通常我们在写语句的时候可能会 ...
- python3 jason & pickle
#Author by Andy#_*_ coding:utf-8 _*_import jsonimport pickledef sayhello(name): print('Hello %s' %na ...
- centos中安装字体
转载自:http://blog.csdn.net/wlwlwlwl015/article/details/51482065 在使用phantomjs做自动化网页截图时,发现截图都没有文字.最后好久才发 ...
- swift_枚举 | 可为空类型 | 枚举关联值 | 枚举递归 | 树的概念
***************可为空的类型 var demo2 :we_demo = nil 上面这个代码串的语法是错的 为什么呢, 在Swift中,所有的类型定义出来的属性的默认值都不可以是nil ...
- ExtJS获取父子、兄弟容器元素方法
http://www.cnblogs.com/CoolHu/archive/2012/12/08/2808433.html 1.当前对象的父对象(上级对象) this.ownerCt: 2.当前对象的 ...
- Java_I/O输入输出_实现读取文件时出现一个表示读取进度的进度条。可以使用java.swing包提供的输入流类ProgressMonitorInputStream
import java.io.*; import javax.swing.*; public class Student { public static void main(String[] temp ...
- sql语句查询服务器的数据库,数据库的全部表和表的全部列
下面是数据库的结构: 数据库名是:edushi_zixunok;表名是infoArticle --获取所有用户名 SELECT * FROM sys.sysusers --获取所有用户数据库 SELE ...
- Fibonacci(斐波那契数列)的最佳实践方式(JavaScript)
1)低级版本 var fibonacci = function(n) { if (n == 0 || n == 1) { return n; } else { return fibonacci(n - ...
- 数据类型、常量、变量、printf、scanf和运算符
数据类型 常量 变量 printf函数介绍 scanf函数介绍 运算符 数据类型 数据类型是指数据在内存中存储的方式. C语言中有5大数据类型:基本类型.构造类型.指针类型.空类型.定义类型. C语言 ...
- linux操作系统基础
计算机概述 1.计算机接收用户输入指令数据,经过cpu数据与逻辑单元运算处理后,产生或储存成有用的信息--->I/O设备+cpu+处理信息=计算机. 2.计算机五大单元:I/O单元 内存单元 c ...