jenkins部署前端node项目实例

Jenkins 分发文件用到rsync命令
 
在 /etc/passwd中 修改 jenkins 为 /bin/bash
jenkins:x:494:494:Jenkins Automation Server:/var/lib/jenkins:/bin/bash
 
在客户端 
/etc/ssh/ssh_config 中修改

StrictHostKeyChecking no   (去掉注释)

在 jenkins 服务器切换到 jenkins账户  su - jenkins

创建密钥

 ssh-keygen

Your identification has been saved in /var/lib/jenkins/.ssh/id_rsa.
Your public key has been saved in /var/lib/jenkins/.ssh/id_rsa.pub.

将公钥内容 id_rsa.pub 拷贝到客户端 /root/.ssh/authorized_keys 文件内 

将root账户公钥 id_rsa.pub也拷贝到客户端   /root/.ssh/authorized_keys 文件内 

 

jenkins 具体配置

添加任务 

general 中 描述写 发布 ***** node 代码

使用自定义的工作空间    /var/lib/jenkins/workspace/df-front

源码管理:

设置 git  仓库地址 , 账户密码 ,仓库分支

在构建  execute shell    分发文件到相应的服务器,并在对端服务器执行脚本npm i构建和重启服务。

jenkins 服务器上脚本内容:

cat /data/sh/startnpm.sh 
#!/bin/bash

cd /root/web


source /etc/profile

/usr/local/node-8.11.1/bin/npm i &&   EGG_SERVER_ENV=dev npm run start 

sleep 5
nodeport=` netstat -lntp|grep "8000"|awk '{print $4}'|awk -F":" '{print $4}'`
echo $nodeport

if [ "$nodeport" ];then
          echo -e "33[32m[ node process start success on dev env !  ]33[0m"
   
fi
原文地址:https://www.cnblogs.com/weifeng1463/p/9251415.html