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 DDL
Sql语言被分为四大类:数据查询语言(DQL),数据操纵语言(DML),数据定义语言(DDL),数据控制语言(DCL). 1. 数据查询语言(DQL) 数据查询语言基本结构由select子句,from ...
- offsetwidth/clientwidth的区别
clientWidth是对象看到的宽度(不含边线,即border)scrollWidth是对象实际内容的宽度(若无padding,那就是边框之间距离,如有padding,就是左padding和右pad ...
- python迭代器
首先解释以下迭代器跟可迭代对象(Iterable)的区别,可以直接作用于for循环或者实现了__iter__的对象统称为可迭代对象(Iterable).可以被next()函数调用并不断返回下一个值的对 ...
- 与String有关的强制转换
String --> int int i = Integer.parseInteger("123"); String --> double double d = Dou ...
- 【LeetCode】#1 Two Sum
[Question] Given an array of integers, return indices of the two numbers such that they add up to a ...
- 初识ReactJs(一)
React的开发背景 ReactJS官网地址:http://facebook.github.io/react/ Github地址:https://github.com/facebook/react J ...
- JS学习笔记--轮播图效果
希望通过自己的学习收获哪怕收获一点点,进步一点点都是值得的,加油吧!!! 本章知识点:index this for if else 下边我分享下通过老师教的方式写的轮播图,基础知识实现: 1.css代 ...
- Android之ViewPager组件实现左右滑动View
什么是ViewPager VIewPager是安卓3.0之后提供的新特性,继承自ViewGroup,专门用来实现左右滑动切换View的效果.如果想向下兼容需要 android-support-v4.j ...
- 聚光灯下的熊猫TV技术架构演进
2015年开始的百播大战,熊猫TV是其中比较特别的一员. 说熊猫TV是含着金钥匙出生的公子哥不为过.还未上线,就频频曝光,科技号,微博稿,站上风口浪尖.内测期间更是有不少淘宝店高价倒卖邀请码,光内测时 ...
- ElasticSearch部署安装
测试版本:elasticsearch-5.1.1 1.Windows环境下安装(win10系统) 1)解压elasticsearch-5.1.1.zip. 2)执行elasticsearch.bat启 ...