文章目录

  • 一、背景
  • 二、安装包
  • 三、安装java环境
  • 3.1、安装jdk
  • 3.2、安装tomcat
  • 3.3、安装maven
  • 3.4、安装git
  • 三、安装jenkins
  • 3.1、安装jenkins
  • 3.2、配置初始页
  • 3.3、插件、凭据、工具配置
  • 3.4、安装npm
  • 四、新建maven项目
  • 五、常见问题
  • 六、构建npm前端项目简述
  • 6.1.1、前端npm项目构建
  • 七、克隆方式创建新项目
  • 八、参考

一、背景

  • 需要使用自动化构建工具jenkins构建项目到应用服务器,项目分前端后端。
  • 前端使用npm构建的vue项目,后端是使用maven的springboot项目。

除了安装jenkins外,还需要额外安装tomcat、maven、jdk、git、npm。

附言:一年前我搭建时候也写过一篇,但是安装包比较零散,所以重新搭建构建系统的时候我才重新写了这篇。一年前的帖子也可以参考看看 超全git+tomcat+jenkins实现自动化构建部署教程

二、安装包

步骤三四需要用的安装包较多,单独去找如果怕麻烦的话可以直接用百度云里面的这些,包含jenkins、maven、maven配置文件、jdk、git。

jenkins工具 软件发布 jenkins开发_jenkins工具 软件发布

链接:https://pan.baidu.com/s/1wH5bx3QO4SZRi7fVqFolsA 提取码:7z2t

三、安装java环境

下面的工具已安装的可以跳过

当前软件下载位置:/opt/soft/,进入该位置

3.1、安装jdk

安装包使用百度云下载的或者进入下载https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

# 解压
tar -zxvf jdk-8u144-linux-x64.tar.gz
# 移动位置
mv jdk1.8.0_144/ /usr/local/java
# 配置环境变量
vi /etc/profile
# 文件末尾添加环境变量
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre

# 使配置生效
source /etc/profile   
# 测试是否安装成功
java -version
3.2、安装tomcat

使用百度云安装包或者直接 wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.39/bin/apache-tomcat-8.5.39.tar.gz

# 解压
tar -zxvf apache-tomcat-8.5.39.tar.gz
# 创建目录
mkdir /usr/local/tomcat
# 移动
mv apache-tomcat-8.5.39 /usr/local/tomcat/

可选操作-修改tomcat端口并启动测试能够访问

jenkins工具 软件发布 jenkins开发_jenkins工具 软件发布_02

3.3、安装maven

使用百度云解压包或者下载maven安装包 wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

# 解压
tar -zxvf apache-maven-3.5.4-bin.tar.gz 
# 可以解压到/usr/local/maven,这里我的直接用了soft下面的安装包略过了该步
# 配置环境变量
vi /etc/profile
# 文件末尾添加环境变量
export MAVEN_HOME=/opt/soft/maven/apache-maven-3.5.4
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin 

# 使配置生效
source /etc/profile      
# 测试是否安装成功
mvn -v
# 默认的仓库比较慢,可以配置阿里云和华为云的中央仓库,直接看步骤二下载的setting.xml,可以直接粘贴进去或者参考
3.4、安装git

提示:安装git经常会遇到一些错误 使用百度云的解压包或者额外下载 https://www.kernel.org/pub/software/scm/git

# 解压
tar -zxvf git-2.9.5.tar.gz
# 进去解压后目录执行,
./configure  --prefix=/usr/local/git
make && make install
# 前两步如果有遇到错,要么直接百度,要么就是缺少一些包,下面给出一些常见报错依赖度的环境
yum install curl-devel
yum install zlib
yum install zlib-devel
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
yum install curl-devel

#测试是否安装成功
git --version

三、安装jenkins

3.1、安装jenkins

3.1.1、版本选择:2.164.1。 3.1.2、下载各个版本地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/

3.1.3、安装方式:不用yum安装,使用tomcat容器部署jenkins,方便修改工作空间。

# 使用百度云提供的war包或者自行下载
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.164.1/jenkins.war
# 移动war文件到tomcat下
mv jenkins.war /usr/local/tomcat/apache-tomcat-8.5.49/webapps

3.1.4、启动:直接启动tomcat方式即可启动jenkins 3.1.5、验证是否成功,访问Jenkins,http://IP地址:8080/jenkins/

3.2、配置初始页

3.2.1、这里有一个临时密码需要输入,在/home/tomcat/.jenkins/secrets/initialAdminPassword里面

jenkins工具 软件发布 jenkins开发_tomcat_03

3.2.2、选择第二个,select plugin to install,这里其实不安装东西也没关系,进去主页面之后再去安装插件即可,确认

jenkins工具 软件发布 jenkins开发_git_04

3.2.3、创建用户名密码

jenkins工具 软件发布 jenkins开发_jenkins工具 软件发布_05

3.2.4、进入主页

jenkins工具 软件发布 jenkins开发_git_06

3.3、插件、凭据、工具配置

1、插件安装:系统管理->插件管理>搜索过滤插件->安装 当前需要安装的插件有:

  • Git
  • Git Parameter Plug-In
  • GitLab Plugin
  • Maven Integration plugin
  • Publish Over SSH

2、凭据配置:选择凭据->系统->添加域,输入一个域名或者ip

jenkins工具 软件发布 jenkins开发_git_07

点击添加一些凭据

jenkins工具 软件发布 jenkins开发_git_08

添加之后账户密码信息之后保存

jenkins工具 软件发布 jenkins开发_maven_09

3、ssh scp 配置

系统管理->系统设置 ssh server 配置:

如果用的是统一的key或者密码,则配置一次就可以了。

如果每个服务器密码都不一样,需要点击高级按钮,把

复选框 Use password authentication, or use a different key 勾选上就行了。

  • Passphrase 服务器的密码
  • Path to key 连接远程服务器密钥文件的路径【没配置密钥则空】
  • Key 密钥文件的内容 【没配置密钥则空】
  • Name 自定义服务器名
  • HostName 服务器IP外网地址
  • UserName 服务器用户名
  • Remote Directory 传输文件的目录【默认填/ ,即根目录】

jenkins工具 软件发布 jenkins开发_maven_10

4、配置本地maven、jdk、git

maven,jdk,git、这些尽量使用本地配置

如下图

jenkins工具 软件发布 jenkins开发_tomcat_11

jenkins工具 软件发布 jenkins开发_jenkins工具 软件发布_12

3.4、安装npm

进入jenkins插件中心安装nodejs,接着去系统设置→系统设置(全局设置)>找到npm,配置如下

jenkins工具 软件发布 jenkins开发_maven_13

四、新建maven项目

4.1、新建选择新建一个maven项目,如果没有安装Maven Integration plugin插件,则不会出现该item。

jenkins工具 软件发布 jenkins开发_tomcat_14

4.2、配置多条件分支参数

jenkins工具 软件发布 jenkins开发_git_15

4.3、选择git项目,选择凭据,指定分支(为空时代表any) 填写上面配置的分支参数myBranch(如果Repository URL报http错,则是http不被git支持,需要进去git目录 yum install curl-devel 安装后重新执行上面步骤3.4中的git两条编译配置命令)。

jenkins工具 软件发布 jenkins开发_git_16

4.4、构建前删除源文件和编译文件

jenkins工具 软件发布 jenkins开发_git_17

选择pom.xml

jenkins工具 软件发布 jenkins开发_tomcat_18

4.5、后置操作步骤选下拉框中的【Send files or execute commands over SSH】接着进行配置。

  • Source files 项目构建后的目录
  • Remove prefix 去前缀
  • Remote directoty 发布的目录
  • Exec command 发布完执行的命令

4.6、确认构建后启动脚本start.sh 是否有误

#! /bin/bash


echo "构建完成"
echo "停止java进程"

ps -aux | grep java|grep soso-admin| awk '{print $2}' | while read pid
do
    echo "正在杀死进程,pid=$pid"
    kill -9 $pid
    echo "kill result: $?"
done

cd /opt/project/java/soso

ls -lht

nohup java -jar soso-admin.jar -spring.profiles.active=sit > nohup.out 2>&1 &

echo "启动中"

jenkins工具 软件发布 jenkins开发_maven_19

4.7、尝试构建

选择build with parameter

jenkins工具 软件发布 jenkins开发_jenkins工具 软件发布_20

选择需要构建的分支之后构建进度如下,接着点击进度条进入构建日志详情查看具体信息

jenkins工具 软件发布 jenkins开发_maven_21

如下图所示则构建成功,直接进去看应用启动日志或者直接访问应用的url地址

jenkins工具 软件发布 jenkins开发_git_22

五、常见问题

  • ssh发送文件到远程服务器报错,一般是因为设置路径不对,可能是远程服务器设置路径,或者发送位置不正确,一般有下面两种配置错误 1、系统管理->系统设置->Publish over SSH->Remote Directory >设置默认远程服务器根目录 / 2、构建配置中Send build artifacts over SSH->Remote directory ,为文件发送远程目标目录(相对路径),参考 结合1、2,最终发送文件位置是【根目录+相对路径】 3、maven打包的一些异常,jenkins执行构建任务报错之java.lang.NoSuchFieldError: DEFAULT_USER_SETTINGS_FILE 遇到这个的话就降级maven,使用3.3.9版本。超过3.5有可能出现这个问题 4、使用linux安装的maven报错,提示****是个目录,那么为了快速解决,直接改用jenkins自动安装的maven。 5、maven的问题都建议直接在linux环境中直接在maven的bin下面去执行响应的构建操作看有没有问题。如执行。mvn -B -f /root/.jenkins/workspace/weekly-admin-uat/pom.xml install 6、git参考报错的问题同样可以先去拿远程地址在linux中执行,看路径错了还是凭据错了。 7、jenkins。jenkins无法安装插件,那么在插件页面选择 高级->上传插件,上传本地响应的hpi插件。https://www.jianshu.com/p/3b5ebe85c034

可以直接在远程服务器执行如:find / -name soso-admin.jar查找文件位置,解决路径错误

  • 遇到一些git问题可以根据具体的报错百度
  • 遇到jenkins的自己的页面没有下拉选项应该少安装了插件,需要去安装插件。
  • 修改jenkins工作空间workspace需要自行百度

六、构建npm前端项目简述

6.1.1、前端npm项目构建

1、构建一个自由风格的项目

2、【源码管理】选择git版本和分支选择同前面maven的一致

3、接下来就不一样了,

4、【构建环境】选择 Provide Node & npm bin/ folder to PATH

jenkins工具 软件发布 jenkins开发_git_23

5、构建shell

cd /var/lib/jenkins/workspace/intelligence-web
npm install -g cnpm --registry=https://registry.npm.taobao.org
rm -rf intelligence
rm -rf intelligence-web
rm -rf intelligence-web.tar.gz
cnpm install
npm run build
mv intelligence intelligence-web
tar -zcvf intelligence-web.tar.gz intelligence-web

6、构建后文件发送到应用服务器

jenkins工具 软件发布 jenkins开发_jenkins工具 软件发布_24

publish.sh脚本和路径如下

[elk@gzidc-it-dev01 ~]$ cat /opt/project/node/intelligence/publish.sh

#! /bin/bash
source /etc/profile
cd  /opt/project/node/intelligence/

ls -lht
# rm -rf intelligence-web.tar.gz
rm -rf intelligence-web
rm -rf static
rm -rf index.html
tar zxvf intelligence-web.tar.gz -C /opt/project/node/intelligence/
mv intelligence-web/* .

七、克隆方式创建新项目

选择构建自由风格的项目→copy from 已有项目->点击保存即可,接着按照自己需要修改版本git地址和脚本配置

jenkins工具 软件发布 jenkins开发_maven_25

八、参考

超全git+tomcat+jenkins实现自动化构建部署教程 Jenkins自动构建部署项目到远程服务器上 jenkins配置,一键打包,备份,部署多服务器,多环境启动 基于gitlab和jenkins的自动化部署实例 Jenkins自动化构建vue项目然后发布到远程Linux服务器