Jenkins自动打包并部署到远程服务器

本文主要介绍了使用Jenkins自动打包到远程服务器。通过踩各种坑完成前端自动化部署

一、Jenkins简介

Jenkins是一个开源软件项目,是基于Java开发的广泛用于持续构建的可视化web工具,就是各种项目的的“自动化”编译、打包、分发部署,将传统编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址,将代码拉取到jenkins宿主机上,进行编译、打包和发布到web容器中。Jenkins可以支持多种语言(比如:java、c#、php等等),也兼容ant、maven、gradle等多种第三方构建工具,同时跟git、svn无缝集成,也支持直接与github直接集成。
参考文件jenkins部署vue项目详细教程

二、服务器环境安装

服务器安装java

jenkins是运行在java环境中的,所以要先安装java,配置java环境变量后才能使用。
1、安装java
yum install -y java-1.8.0-openjdk.x86_64
2、 用文本编辑器打开/etc/profile
vi /etc/profile
然后在 profile文件末尾加入:
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

粘贴到profile末尾之后,按ESC键,然后:wq退出。

3、使配置文件生效
source /etc/profile

服务器安装jenkins

1、先将Jenkins存储库添加到yum repos。
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins

启动 jenkins

浏览器输入 http://ip:8080,ip:服务器外网ip地址 例:http://118.24.211.xxx:8080

如果访问不成功,那么就去服务器查看安全组规则:是否开通接口8080

等待一会之后 提示你输入管理员密码

在这里插入图片描述

去查看这个密码:
vi /var/lib/jenkins/secrets/initialAdminPassword

把密码复制下来输入进去

在这里插入图片描述

选择第一个,安装社区推荐的插件

创建第一个管理用户:
在这里插入图片描述

继续点击保存并完成

用jenkins创建一个构建任务:
在这里插入图片描述

到这一步后,我们先去服务器上装git和node。

服务器上装git和node

安装git:
yum install git

安装node:( 注意自己的node版本设置此处----14.7.6)
wget https://npm.taobao.org/mirrors/node/v14.7.6/node-v14.7.6-linux-x64.tar.xz
解压:
xz -d node-v14.7.6-linux-x64.tar.xz
tar -xvf node-v14.7.6-linux-x64.tar

全局使用:
ln -s /root/node-v14.7.6-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v14.7.6-linux-x64/bin/npm /usr/local/bin/npm

注:如果你安装了低版本的nodejs,那么vue项目有些依赖npm安装会报错,类似于包版本低已弃用,导致构建失败,此时,即使你在服务器手动更新nodejs版本,你构建时还是不生效的。此时你就需要去jenkins上安装nodejs插件。

jenkins上安装nodejs插件:
*第一步:Manage Jenkins—>Manage Plugins—>下载NodeJS插件
*第二步:配置全局nodejs Manage Jenkins—>Global Tool Configuration—>新增node
在这里插入图片描述

服务器下载nginx

1 使用yum安装nginx需要包括Nginx的库,安装Nginx的库
    #rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2 使用下面命令安装nginx
    #yum install nginx
3 启动Nginx
    #service nginx start

找到nginx的配置文件:
在 etc下nginx文件下,打开nginx.conf

在这里插入图片描述

修改这个地方,指向你打包后的vue文件.

然后重启nginx:
systemctl restart nginx

三、单个项目工程配置

构建环境

然后在你的job中:
点击配置—>点击构建环境

在这里插入图片描述

源码管理

这里我代码仓库用的是公司自己,输入仓库地址。因为仓库是私有的所以会有报错提示 这里要添加Credentials。就是你账号:

在这里插入图片描述

在这里插入图片描述

构建触发器

参考文章Jenkins+Gitlab+Generic Webhook Trigger插件

1、Jenkins插件中心安装插件,Generic Webhook Trigger

2、设置API Token
用户列表–>点击用户–>设置—>新增Token

在这里插入图片描述

复制保存token

3、配置Gitlab Hook
登录Gitlab进入某个项目》Settings》Integrations》Add webhook
http://jenkins用户名:token@ip:端口号//generic-webhook-trigger/invoke

在这里插入图片描述

然后保存,下面可以手工触发进行测试

在这里插入图片描述

构建

rm -rf ./dist/*
npm run build:stage
rm -rf /data/nginx/html/platform/*
cp -rf ./dist/* /data/nginx/html/platform
tar -zcvf ./dekang-platform-web.tar.gz ./dist/*

在这里插入图片描述

然后回到工程,点击立即构建。

此时会报一个没有操作/data/nginx/html/platform/文件夹的权限,给jenkins用户添加 /data/nginx/html/platform/文件夹的所有权限。
chown -R jenkins:jenkins /data/nginx/html/platform/

构建后操作

参考jenkins实现前端自动化打包并部署到nginx服务器
Publish Over SSH插件下载
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值