Jenkins安装部署实战

327 阅读3分钟

下面是记录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

www.jenkins.io/download/

image.png 点击红框下载 jenkins.war 然后在xshell中执行

nohup java -jar jenkins.war > info.log &

记住下面的密码

image.png

三,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访问,如果指定了名称,这样访问还需要输入密码,郁闷!!!

image.png ==2022年更新 end===

装完推荐插件后,装下面插件:

配置JDK,Maven

然后配置项目拉取路径,先全局配置一个凭证:

开始构建项目

构建项目:springboot项目选择“构建一个maven项目”,注意构建前端项目的时候才选择 “自由风格”

image.png 然后选择,但是一直报下面这个错,

其实是因为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!

完工!