前言:因为之前使用docker拉取的jenkins无法检测到本地服务器安装的jdk和maven,所以我在本地服务器直接拉取了jenkins,使用8090端口与docker拉取的jenkins进行对比,可以检测到本地服务器安装的jdk和maven,前端和后端分开写

1.使用jenkins+nginx自动化部署前端项目并打包备份

1.首先,准备一个jenkins的安装包并进行解压:

wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm
rpm -ivh jenkins-2.346.3-1.1.noarch.rpm

进入/etc/init.d/jenkins添加java地址
 vi /etc/init.d/jenkins

jenkins 前端打包选择什么项目 jenkins打包web项目_nginx

刷新:
systemctl daemon-reload

启动:
systemctl start jenkins

如果使用此命令无法进入jenkins,进入/etc/init.d
使用该命令:

 ./jenkins start  #启动

 如果需要改变端口号:

vim /etc/sysconfig/jenkins

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins_02

2.配置nginx

首先下载在根目录下创建app,下载nginx安装包并解压

安装依赖

yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl-devel

下载nginx并解压:

wget http://nginx.org/download/nginx-1.16.1.tar.gz 

tar -zxvf nginx-1.16.1.tar.gz

#进入nginx目录下:
cd nginx-1.16.1/

#编译:
# 需要使用https执行指令
./configure  --with-http_ssl_module
# 需要使用stream
./configure --with-stream
# 需要https、stream指令 
./configure  --with-http_ssl_module --with-stream
# 不需要使用https执行
./configure 

#安装:
make && make install

配置nginx:

进入nginx下的nginx.conf文件:

 

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins_03

server {
        listen       80;
        server_name  localhost;
        root /app/nginx/nginx/html;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /app/nginx/nginx/html/vue;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        }

3.进入服务器:8090端口:

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins 前端打包选择什么项目_04

 粘贴密码

进入系统 安装插件,直接点击安装推荐插件

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins 前端打包选择什么项目_05

点击推荐安装,稍等片刻,会出现

jenkins 前端打包选择什么项目 jenkins打包web项目_自动化_06

4.安装前端所需插件

安装nodejs插件:

jenkins 前端打包选择什么项目 jenkins打包web项目_docker_07

jenkins 前端打包选择什么项目 jenkins打包web项目_nginx_08

配置nodejs插件:

jenkins 前端打包选择什么项目 jenkins打包web项目_自动化_09

jenkins 前端打包选择什么项目 jenkins打包web项目_nginx_10

5.系统配置

此处还需要下载两个插件:

SSH

Pubulish Over SSH

下载完成之后进入系统配置:

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins 前端打包选择什么项目_11

jenkins 前端打包选择什么项目 jenkins打包web项目_自动化_12

凭据:

jenkins 前端打包选择什么项目 jenkins打包web项目_nginx_13

jenkins 前端打包选择什么项目 jenkins打包web项目_docker_14

 两个插件完成之后需要点击右下角的Test Configeration 测试是否是success

6.创建一个ITEM:

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins_15

jenkins 前端打包选择什么项目 jenkins打包web项目_自动化_16

jenkins 前端打包选择什么项目 jenkins打包web项目_nginx_17

npm install -g pnpm
# 查看版本信息
pnpm -v
# 将镜像源替换为淘宝的加速访问
pnpm config set registry https://registry.npm.taobao.org
# 安装项目依赖
pnpm i
# 项目打包
pnpm run build

 

jenkins 前端打包选择什么项目 jenkins打包web项目_nginx_18

  cat /root/sh/vue1.sh

if [ -d /var/lib/jenkins/workspace/vue/dist ];
then
    mv /app/nginx/nginx/html/vue /app/nginx/nginx/html/vue-$(date +%F)
    cp -r /var/lib/jenkins/workspace/vue/dist /app/nginx/nginx/html/vue
 
    rm -rf /var/lib/jenkins/workspace/vue/dist
    /usr/local/nginx/sbin/nginx  -t
else
  exit 1
fi

80端口代表前端项目端口

访问80端口:

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins 前端打包选择什么项目_19

打包备份的项目:

jenkins 前端打包选择什么项目 jenkins打包web项目_docker_20

 2.使用jenkins+nginx自动化部署后端java项目并打包备份

jenkins安装完成

首先下载jdk:

参考这个博客:

(50条消息) linux 安装jdk 两种方法:手动安装 和yum安装:_linux安装jdk_阿尔卑斯狼

下载maven:

参考这个博客:

(50条消息) Linux下安装配置maven_linux 安装mvn

之后在/etc/peofile中添加jdk和maven的目录位置(添加环境变量)

打开全局工具配置,配置jdk和maven位置:

jenkins 前端打包选择什么项目 jenkins打包web项目_nginx_21

jenkins 前端打包选择什么项目 jenkins打包web项目_自动化_22

 

再打开系统配置,配置jdk和maven环境变量:

jenkins 前端打包选择什么项目 jenkins打包web项目_自动化_23

 

新建一个项目:

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins 前端打包选择什么项目_24

避免项目过大,打包时间过长:

jenkins 前端打包选择什么项目 jenkins打包web项目_nginx_25

 

jenkins 前端打包选择什么项目 jenkins打包web项目_自动化_26

 

jenkins 前端打包选择什么项目 jenkins打包web项目_docker_27

 

mvn clean 清除
mvn install 本地仓库安装jar
mvn clean package -Dmaven.test.skip=true  跳过单元测试打包

 /root/sh/bangsitesh.sh内容如下:

#! /bin/bash
#so "at now" will run even if java -jar fails
set +e 
#Run java app in background
echo "java -jar /usr/local/joshua317-test-core-1.0-SNAPSHOT.jar" | at now
cd jar包的工作目录
JENKINS_NODE_COOKIE=dontkillme  #jenkins不识别nohup.out 2>&1 &,配置这条命令
nohup java -jar jar包的名称.jar --spring.profiles.active=配置文件名称 &

 构建成功

jenkins 前端打包选择什么项目 jenkins打包web项目_docker_28

 查看3000端口和5005端口:

jenkins 前端打包选择什么项目 jenkins打包web项目_jenkins 前端打包选择什么项目_29

成功