Jekins上部署前端环境

安装Node

(1)创建文件夹,下载解压node

wget https://nodejs.org/dist/v10.15.0/node-v10.15.0-linux-x64.tar.xz    // 下载
tar xf  node-v10.15.0-linux-x64.tar.xz       // 解压

(2)找到修改/etc/profile文件

vi  编辑 i 开启编辑模式   esc保存     shift+:wq
export NODE_HOME=/usr/local/node  //Node所在路径
export PATH=$NODE_HOME/bin:$PATH

执行命令 source /etc/profile 及在当前控制台更新

(3)node -v 看是否安装成功

git配置

(1)生成,照提示完成三次回车 [email protected]

ssh-keygen -t rsa -f ~/.ssh/id_rsa_ziasset -C "[email protected]"

(2)公钥配置到git上

(3)配置 .ssh/config

Host ziasset
HostName library.ziasset.com
User zzz
Port 22022
IdentityFile ~/.ssh/id_rsa_ziasset
PreferredAuthentications publickey

(4)拉取项目代码

打包

(1)更新,install

git pull
npm install

如果遇到报错

# npm WARN [email protected] requires a peer of ajv@^6.0.0 but none is installed
    # 手动安装ajv即可
    npm install ajv@^6.0.0
# npm WARN [email protected] had bundled
    # mac下需要 fsevents,这里是在windows环境,所以可以忽略这个警告,对你没什么影响
# Error: EACCES: permission denied, mkdir './node_modules/node-sass/.node
    npm install node-sass --unsafe-perm --save-dev
npm run build  # 打包成功!

编写脚本

#!/bin/bash
# 参数验证
if [ $# -ne 2 ];
then
        echo '======>参数错误 $1:git项目名,$2:发布目录'
        echo '======>    eg: travelweb travel-web'
    exit
fi
Home=/opt/deploy/web
#Project=travelweb
Project=$1
# 发布目录
#Dir=travel-web
Dir=$2
​
cd $Home/$Project
echo "进入 `pwd -P`"
git pull
NODE_HOME=/opt/node/node-v10.15.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin
/opt/node/node-v10.15.0-linux-x64/bin/npm install
rm -rf dist
/opt/node/node-v10.15.0-linux-x64/bin/npm run build
​
if [ $? -ne 0 ]; then
    echo "======> 打包失败 exit......"
        exit
fi
echo "======> 打包成功,开始发布到nginx"
cp -rp dist/* /usr/local/webserver/nginx/html/$Dir

jenkins 配置

(1)新建任务
Jekins上部署前端环境_第1张图片
(2)构建自由风格的软件项目
Jekins上部署前端环境_第2张图片
执行shell

/opt/deploy/web/deploy-dev.sh 参数1 参数2
参数1 : git项目名称 
参数2 : 发布nginx目录名称

你可能感兴趣的:(Jekins上部署前端环境)