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 "