Jenkins配置后端服务、前端自动打包部署

1.初始化

1.访问jenkins页面

http://ip:port/perfix/

2.输入管理员初始密码,创建新账号。

3.安装推荐插件。

2.安装插件

首页-“系统管理”-“系统配置”-“插件管理”-“可选插件”

搜索 “publish over ssh”

点击“Download now and install after restart”
Jenkins配置后端服务、前端自动打包部署_第1张图片
按步骤安装以下插件:

1.Publish Over SSH
2.

3.在jenkins所在的服务器安装中间件

git、maven、node

3.1git

3.1.1安装git 略

3.1.2配置

“系统管理”-“系统配置”-“全局工具配置” 找到git

“新增git”
Jenkins配置后端服务、前端自动打包部署_第2张图片

Name随便取,“ Path to Git executable ”填写 git安装目录下bin/git绝对路径。

3.2maven

3.2.1安装maven略

3.2.2配置

“系统管理”-“系统配置”-“全局工具配置” 找到maven

“新增maven”

Name随便取,“ MAVEN HOME ”填写 maven安装路径根目录。

4.配置 SSH Servers

“系统管理”-“系统配置”-“系统配置” 拉到最下方

“SSH Servers”

点击"新增"
Jenkins配置后端服务、前端自动打包部署_第3张图片

注意:这里ip地址如果能用内网尽量用内网,否则传jar包会很慢。

5.jenkins-后端服务自动化部署配置

5.1新建视图

Jenkins配置后端服务、前端自动打包部署_第4张图片

5.2新建项目

Jenkins配置后端服务、前端自动打包部署_第5张图片

Jenkins配置后端服务、前端自动打包部署_第6张图片

5.3配置

在5.2步骤点击“OK”后,自动进入配置页面。如下图。
Jenkins配置后端服务、前端自动打包部署_第7张图片

5.3.1基础配置

Jenkins配置后端服务、前端自动打包部署_第8张图片

1.描述:填写项目描述即可

2.丢弃旧的构建:顾名思义,用于开启和配置丢弃就的构建记录。

5.3.2源码管理

Jenkins配置后端服务、前端自动打包部署_第9张图片

1.先择“Git”

2.Repository URL:填写项目的git地址(http)

3.Credentials:git账户(用于拉取代码)

点击“添加”,在弹窗中做如下配置,点击“添加“即可。
Jenkins配置后端服务、前端自动打包部署_第10张图片
4.Branches to build:指定分支

其他的字段忽略即可。

5.3.3构建触发器

5.3.4构建环境

5.3.5构建

点击”增加构建步骤“ 选择“调用顶层Maven目标”
Jenkins配置后端服务、前端自动打包部署_第11张图片
1.Maven版本:选择刚刚我们配置的maven。
2.目标:clean package maven命令

点击“高级”,配置setting文件。(setting文件需要手动上传到jenkins所在服务器,注意修改setting文件中本地仓库地址)
Jenkins配置后端服务、前端自动打包部署_第12张图片

5.3.6构建后操作

Jenkins配置后端服务、前端自动打包部署_第13张图片

点击“增加构建后步骤” 选择“Send build artifacts over SSH”

1.SSH Server-Name:选择目标服务器(在步骤4中配置)

2.Transfers-Transfer Set-Source files:填写jar包的相对路径,从当前项目工作空间的根目录开始。
Jenkins配置后端服务、前端自动打包部署_第14张图片

Jenkins配置后端服务、前端自动打包部署_第15张图片

3.Transfers-Transfer Set-Remove prefix:去掉路径前缀,例如,我在Source files中填的是target/xxxx.jar但是我不想把target文件夹一块放到目标服务器,那 Remove prefix就写 target

4.Transfers-Transfer Set-Remote directory:远程目标文件夹,也就是你jar包要放到远程服务器的哪个目录下,前面会自动拼接SSH Server中该远程服务器配置的Remote directory。
例如:SSH Server 中 Remote directory配置的是 /home/app
在这里Remote directory中配置的是 /helloworld
那么jar包的放置位置为 /home/app/helloworld
到这里,我们已经将jar包放到了远程服务器的对应目录。

5.Transfers-Transfer Set-Exec command:在这里输入要远程执行的脚本。

cd /home/xxxx/app/agencyCloud/ebiz-auth;
sh restart-jenkins.sh;

restart-jenkins.sh 需要手动上传到jar包的同级目录。

#!/bin/bash
PID=$(ps -ef | grep xxxx-agency-auth | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo xxxx-agency-auth is already stopped
else
    echo kill $PID
    kill -9 $PID
fi

source /etc/profile
nohup java -jar xxxx-agency-auth.jar > xxxx-agency-auth.log  2>&1 &
echo "Start $jar success..."

sleep 3
echo $(ps -ef | grep xxxx-agency-auth | grep -v grep | awk '{ print $2 }')

注意: source /etc/profile 这行命令可以先尝试去掉,如果报错再加上T。T

到此,后端服务自动化部署配置完毕

6.jenkins-前端服务自动化部署配置

6.1新建试图

6.2新建项目

6.3配置

6.3.1基础配置

6.3.2源码管理

6.3.3构建触发器

6.3.4构建环境

6.3.5构建

点击“增加构建步骤”选择“执行shell”,在其中填写命令,实现打包。
Jenkins配置后端服务、前端自动打包部署_第16张图片

rm -rf dist
cnpm install
npm run build
tar cvf dist/xxxx-agency-ui.tar dist/*

6.3.6构建后操作

点击"增加构建后步骤"选择“Send build artifacts over SSH”,将打好的包传输到目标服务器,解压。
Jenkins配置后端服务、前端自动打包部署_第17张图片

Exec command

cd /opt/xxxx/xxxx/xxxx-ui
rm -rf ./dist
tar xf xxxx-agency-ui.tar
rm -rf ./xxxx-agency-ui.tar

注意:此步骤的目的就是将打好的压缩包放到目标服务器的指定目录,然后将压缩包解压放到对应目录。读者可以根据实际情况调整shell命令。

你可能感兴趣的:(jenkins,jenkins)