先安装jdk、maven、git必需环境
一、安装maven
1.下载
wget https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
2.下载下来之后解压,并在/etc/profile中添加mave环境
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
3.生效
source /etc/profile
4.查看
mvn -verison
二、git安装
yum -y install git
git config --global user.name "test"
git config --global user.email "test@ll.com.cn"
三、安装jenkins
1.下载
wget http://mirrors.jenkins.io/war-stable/2.263.1/jenkins.war
2. 在下载jenkins.war的目录下,启动,并将端口号改掉
nohup java -Xms256m -Xmx256m -jar jenkins.war --httpPort=8089 > ./jenkins.log 2>&1 &
3.在启动的时候,日志中会打印出来初始密码,也可以
cat /root/.jenkins/secrets/initialAdminPassword
4.在浏览器中输入 ip:端口号 访问页面,会让输入上一步的密码
5.进入用户自定义插件页面,建议选择安装官方推荐插件
6.插件安装完成之后,继续配置用户名密码
四、jenkins配置
进入 系统管理--全局工具配置
五、项目部署
1.新建任务
2.项目配置
2.1丢弃旧的构建
2.2源码管理
2.3构建环境
2.4build clean install -Dmaven.test.skip=true
2.5 点击Add post-build step,选择 Excute Shell
在此处加入自己项目的脚本,(如果是cloud项目,多复制几个修改一下即可)例如:
#!/bin/sh
export EUREKA=eureka.jar
export EUREKA_port=8761
export dir=/root/.jenkins/workspace/project
## BEGIN--EUREKA-----------------------------------------------------------------------------------------------------------------
P_ID=`ps -ef | grep -w $EUREKA_port | grep -v "grep" | awk '{print $2}'`
if [ "$P_ID" == "" ]; then
echo "===EUREKA process not exists or stop success"
else
kill -9 $P_ID
echo "EUREKA killed success"
fi
echo "===EUREKAR stop success==="
## 启动EUREKA
echo "--------启动EUREKA start--------------"
BUILD_ID=DONTKILLME
nohup java -Xms128m -Xmx128m -jar $dir/eureka/target/$EUREKA --server.port=$EUREKA_port > $dir/eureka.log 2>&1 &
EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`
until [ -n "$EUREKA_pid" ]
do
EUREKA_pid=`lsof -i:$EUREKA_port|grep "LISTEN"|awk '{print $2}'`
done
echo "EUREKA pid is $EUREKA_pid"
echo "--------EUREKA start success--------------"
## END--EUREKA---------------------------------------------------------------------------------------------------------------------
2.6保存之后,就可以构建项目了
六、配置jenkins开机自启
vi jenkins.sh
# !/bin/bash
pid=`ps -ef | grep jenkins.war | grep -v 'grep'| awk '{print $2}'| wc -l`
if [ "$1" = "start" ];then
if [ $pid -gt 0 ];then
echo 'jenkins is running...'
else
nohup /usr/local/jdk/jdk8/bin/java -Xms256m -Xmx256m -jar /usr/local/jenkins/jenkins.war --httpPort=8096 > /usr/local/jenkins/jenkins.log 2>&1 &
echo 'jenkins is started...'
fi
elif [ "$1" = "stop" ];then
exec ps -ef | grep jenkins | grep -v grep | awk '{print $2}'| xargs kill -9
echo 'jenkins is stop..'
else
echo "Please input like this:"/usr/local/jenkins/jenkins.sh start" or "/usr/local/jenkins/jenkins.sh stop""
fi
chmod +x jenkins.sh
在/etc/rc.d/rc.local文件底部,添加内容:
# jenkins
/usr/local/jenkins/jenkins.sh start