jenkins自动构建VUE前端项目

前端环境安装, 可以看我上一篇文章 链接: link
Git安装, 可以官网下载tar.gz包, https://github.com/git/git/releases, 然后命令解压

tar -zxvf git-2.37.3.tar.gz

进入到git的解压缩目录, 先安装所需要的依赖, 然后编译安装

# 安装依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
# 指定前缀编译
make prefix=/usr/local/web/git all
# 编译完后安装 
make prefix=/usr/local/web/git install

进入到安装目录, 执行 git --version 查看是否成功, 然后配置环境变量

vi /etc/profile

文件底部添加如下

export PATH=$PATH:/usr/local/web/git/bin

使生效

source /etc/profile

然后任意目录下执行 git --version 查看是否成功

在这里插入图片描述

配置Git的用户名, 邮箱, 密码, 关闭SSL验证

# 关闭ssl校验
git config --global http.sslVerify "false"
# 用户名
git config --global user.name "你自己的用户名"
# 密码
git config --global user.password "你自己的密码"
# 邮箱
git config --global user.email "你自己的邮箱地址"

配置Git和Nodejs, Dashboard–>Global Tool Configuration下, 也可以配置Maven, Jdk, Gradle, Ant等

在这里插入图片描述
在这里插入图片描述

新建项目 (新建Item)

在这里插入图片描述

我这里使用了自定义的工作空间, 可使用默认的默认路径在/root/.jenkins/workspace下

在这里插入图片描述

我这里添加构建Git分支参数的选择, 可以打不同分支的包, 不需要可以忽略此步

在这里插入图片描述
在这里插入图片描述

也可以添加单选下拉的参数, 我这有修改网卡的需求, 没有修改网卡不需要的可以忽略此步, 可以在脚本中使用${host}获取使用

在这里插入图片描述

配置Gitlab远程仓库地址, 我这里是HTTP的地址, 凭据使用的是自己登录Gitlab的用户名密码即可, 可以直接添加, 也可以到Manage Jenkins --> Manage Credentials进行添加

在这里插入图片描述

然后编写执行脚本

在这里插入图片描述

# 删除上一次打的包
rm -rf ./zxelec ./zxelec*.zip
# 安装
yarn install
# 构建
yarn build
# 压缩打zip包
zip -r zxelec-${host}.zip ./zxelec
# 打的包 统一放到/usr/local/web/build目录下
mv zxelec-${host}.zip /usr/local/web/build/
# scp传输包
scp /usr/local/web/build/zxelec-${host}.zip root@${host}:/usr/local/openresty/nginx/html/
# 执行远程服务命令
ssh ssh root@${host} "cd /usr/local/openresty/nginx/html/;mv zxelec-${host}.zip zxelec.zip;unzip -o zxelec.zip"

MAVEN + JAVA打包部署脚本

mvn clean package
if [ ${host} = 'ALL' ]
then
	hostArray=("10.0.xx.xx" "10.1.xx.xx" "10.2.xx.xx" "10.3.xx.xx")
    for element in ${hostArray[@]}
    do
    scp /root/.jenkins/workspace/zxelec-back/zxelec-imwp/target/zxelec-imwp.jar root@$element:/home/viss/imwp_b/imwp_b/
	ssh root@$element "sh /home/viss/imwp_b/bin/imwp_start.sh stop"
    done
else
  	scp /root/.jenkins/workspace/zxelec-back/zxelec-imwp/target/zxelec-imwp.jar root@${host}:/home/viss/imwp_b/imwp_b/
	ssh root@${host} "sh /home/viss/imwp_b/bin/imwp_start.sh stop"
fi

因为我这里有跨服务传输, 所以要免密码处理, 要不scp和ssh没有权限, 输入一次密码后, 以后就不需要密码了

在这里插入图片描述

主要的两个命令

# 生成公钥和私钥
ssh-keygen -t rsa
# 然后将公钥复制到目标服务器
ssh-copy-id -i /root/.ssh/id_rsa.pub root@xx.xx.xx.xx
# 如上面命令报ERROR,执行以下命令
ssh-keygen -R xx.xx.xx.xx

构建时的页面

在这里插入图片描述

输出日志的日志信息

在这里插入图片描述

然后看执行结果就就行了, 完活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值