jenkins 发布 -nodejs 例子

编译视图

图1:编译打包视图

图2:测试环境多分支分布

插件:git Parameter

构建shell:

echo $JOB_NAME ${JOB_BASE_NAME}
npm -v
node -v

#npm install
npm run build


rm  ${JOB_BASE_NAME}.tar.gz -rf
tar zcf  ${JOB_BASE_NAME}.tar.gz dist/ node_modules/ server/ server.js favicon.ico
#打包

发布视图

图1:部署视图

图2:选择部署主机

插件:Persistent Parameter Plugin

package_name=${JOB_BASE_NAME#*-} #替换包文件夹名
package_dir=`echo $JOB_NAME|sed 's/deploy-//g'` #替换为包文件夹路径

echo -e "
Job目录: $JOB_NAME
Job名: ${JOB_BASE_NAME}
包文件夹路径: $package_dir
包文件夹名: $package_name
部署主机:  $Deploy_host
"


function color_message()
{ 
  case "$1" in
      "Red_echo")
      echo -e "\e[1;31m$2\e[0m"
      ;;
      "Green_echo")
      echo -e "\e[1;32m$2\e[0m"
      ;;
      "Yellow_echo")
      echo -e "\e[1;33m$2\e[0m"
      ;;
  esac
}


## ---- 正常部署 ---- ##
Deploy_item() {
salt -E  $Deploy_host cmd.run "\cp /home/admin/$package_name.tar.gz   /usr/local/src/$package_name-old.tar.gz"
# 移动旧文件
salt -E  $Deploy_host state.sls saltenv='ci' deploy-nodejs pillar="{WORKSPACE: '$package_dir', JOBNAME: '$package_name'}"
# salt.file模块推送新文件
}



## ---- 回滚 ---- ##
Rollback_item(){
salt -E  $Deploy_host cmd.run "\cp /usr/local/src/$package_name-old.tar.gz /home/admin/$package_name.tar.gz"
# 恢复上一个版本包
}



## ---- 启动nodejs ---- ##
nodejs_done(){
salt -E   $Deploy_host cmd.run "su - admin -c 'pm2 del all && rm /home/admin/adminProject -rf'"
# 停服务,删除文件夹
salt -E   $Deploy_host cmd.run "su - admin -c 'mkdir /home/admin/adminProject && tar zxf /home/admin/$package_name.tar.gz -C /home/admin/adminProject'"
# 指定解压文件
salt -E   $Deploy_host cmd.run "su - admin -c 'cd /home/admin/adminProject && pm2 start server.js'"
# 运行nodejs
}



## ---- 执行操作判断 ---- ##
if [ "$Openration"x == "Deploy"x ]; then
    Deploy_item
    nodejs_done
    color_message Green_echo "$Deploy_host deploy success"
elif [ "$Openration"x == "Rollback"x ]; then
    Rollback_item
    nodejs_done
    color_message Green_echo "$Deploy_host Rollback success"
else
    color_message Red_echo  "OPERATION set error, please check ..."
fi

插件:AnsiColor

转载于:https://my.oschina.net/attacker/blog/2218582

要在Jenkins中配置节点nodejs,你需要按照以下步骤进行操作: 1. 首先,在Jenkins系统管理中找到“全局工具配置”选项。 2. 在全局工具配置中,找到NodeJS版本下拉选择,并进行配置。请确保所选择的NodeJS版本与之前选择的“限制项目运行节点”相匹配,即此NodeJS版本需要在此节点中存在。 3. 另外一种方法是使用Jenkins Docker插件,你可以将其与一个包含NodeJSJenkins从站一起使用。Docker插件提供了访问该映像的权限,通过SSH连接可以使用该映像。如果你使用Jenkins Docker插件,你无需自己启动映像。 如果你刚刚添加了一个节点,你会在节点上的工作目录中看到一些文件生成。你可以通过以下命令查看这些文件: ``` [jenkins@asus-centos jenkins_node_work_dir]$ pwd /home/jenkins/jenkins_node_work_dir [jenkins@asus-centos jenkins_node_work_dir]$ ls -lah 总用量 1.5M drwxrwxr-x. 3 jenkins jenkins 42 3月 14 19:54 . drwx------. 8 jenkins jenkins 189 3月 14 19:54 .. drwxrwxr-x. 4 jenkins jenkins 34 3月 14 19:54 remoting -rw-rw-r--. 1 jenkins jenkins 1.5M 3月 14 19:54 remoting.jar ``` 以上是配置Jenkins节点nodejs的步骤,希望对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Jenkins项目配置-Nodejs项目(Vue框架)-全面](https://blog.csdn.net/xiaona0523/article/details/124186921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [docker-jenkins-slave-nodejs](https://download.csdn.net/download/weixin_42133329/18744298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Jenkins 进阶篇 - 节点配置](https://blog.csdn.net/u014559804/article/details/118223876)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值