下面是记录Jenkins安装与部署实战,方便以后回顾。
一,配置Java环境和Maven环境
export JAVA_HOME=/usr/local/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
export MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:${PATH}
二,安装jenkins
点击红框下载 jenkins.war
然后在xshell中执行
nohup java -jar jenkins.war > info.log &
记住下面的密码
三,Jenkins系统配置
Jenkins编译打包后的项目要推到测试服务器,进入"系统管理==>系统设置",拉到下面的"Publish over SSH"处,进行配置,我这里有两中配置,一是APP服务端项目在服务器1中Tomcat部署,二是H5项目在服务器2中通过Nginx代理访问,这里配置两个,如下:
==2022年更新 start===
现在构建的时候这里配置的是秘钥:
在Jenkins服务器上生成秘钥对:
ssh-keygen -t rsa
然后通过下面命令将生成的公钥复制到目标服务器的~/.ssh/authorized_keys中
ssh-copy-id -i ~/.ssh/id_rsa.pub "root@172.18.333.44"
如果ssh端口是12580,则命令是:ssh-copy-id -p 12580 -i ~/.ssh/id_rsa.pub 'root@139.196.167.232'
今天测试了一下,如果在生成秘钥对的时候不指定密钥名称(就是默认的id_rsa),
则可以直接ssh root@172.18.333.44访问,如果指定了名称,这样访问还需要输入密码,郁闷!!!
==2022年更新 end===
装完推荐插件后,装下面插件:
配置JDK,Maven
然后配置项目拉取路径,先全局配置一个凭证:
开始构建项目
构建项目:springboot项目选择“构建一个maven项目”,注意构建前端项目的时候才选择 “自由风格”
然后选择,但是一直报下面这个错,
其实是因为linux没装git,然后赶紧安装一下:yum install git,然后再次配置,OK
然后进行构建后操作:
这个地方需要提前在:"系统管理==>系统设置",拉到下面的"Publish over SSH"处,进行配置,我这里有两中配置,一是APP服务端项目在服务器1中Tomcat部署,二是H5项目在服务器2中通过Nginx代理访问,这里配置两个,如下:
配置好之后,返回:就可以使用了。
这里贴一下/data/shell/**-app.sh脚本
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/jdk1.8.0_171/bin
export PATH
echo $PATH
TOMCAT_HOME=/usr/local/tomcat/tomcat-app
jps -mlv | grep ${TOMCAT_HOME} | awk '{print $1}' | xargs kill -9
# ***-app是你项目的名称
cd ${TOMCAT_HOME}
rm -rf webapps/ROOT/
unzip /projectData/program/***-app.war -d webapps/ROOT
echo `ls webapps`
cd webapps
rm -rf /data/war/***-app/`date +%F`
mkdir /data/war/***-app/`date +%F`
#下面这句生产的时候需要打开..,为了回滚
#mv /projectData/program/***-app.war /data/war/***-app/`date +%F`/
cd ../work
rm -rf *
cd ../bin
sh startup.sh
echo "start"
这个remote directory路径在服务器上是这样的:
APP:
H5(在nginx服务器上):
最后点击构建:成功了!
构建前端Vue项目
构建的时候选择“自由风格”
需要jenkins安装NodeJS Plugin
先安装Node环境: 下载到/usr/local下:
tar -zxvf node-v8.11.4-linux-x64.tar.gz
mv node-v8.11.4-linux-x64 nodejs
ln -s /usr/local/nodejs/bin/node /usr/local/bin/node
ln -s /usr/local/nodejs/bin/npm /usr/local/bin/npm
还需要加node到全局变量中
vi /etc/profile
export NODE_HOME=/usr/local/nodejs
export PATH=$PATH:${NODE_HOME}/bin
source /etc/profile
然后测试:
[root@VM_0_16_centos nodejs]# node -v
v8.11.4
[root@VM_0_16_centos nodejs]# npm -v
6.11.2
安装成功啦!
配置NodeJs:到"系统管理"->"全局工具配置"中
之后构建项目的时候,会自动选中下面的:
然后构建项目:
其中圈着的是,jenkins自己下载不下来会报错的,全局设置淘宝镜像并不起作用的,这里手动单独配置一下即可。
最后配置成功,测试OK!
完工!