iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何使用PM2自动部署代码
  • 757
分享到

如何使用PM2自动部署代码

2024-04-02 19:04:59 757人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关如何使用PM2自动部署代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。0x01 环境条件本地环境:window10的

这篇文章将为大家详细讲解有关如何使用PM2自动部署代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

0x01 环境条件

本地环境:window10的WSL ubuntu16.04

服务器环境:ubuntu18.04

使用PM2进行部署,可以先查看官方的文档

这里需要在本地和服务器环境上同时安装好 PM2 、git ,本地PM2可以通过git向GitHub、gitee等仓库提交代码,同时通知服务器的PM2拉取最新的代码,并在拉取成功后运行代码。

0x02 设置本地环境与服务器环境gitee仓库ssh

本地环境

执行 ssh-keygen -t rsa -b 2048 -f pm2deploy -C "PM2 deploy ssh key"

如何使用PM2自动部署代码

执行后将得到本地环境生成的ssh key

执行 ssh-agent bash --login -i

执行 ssh-add pm2deploy

如何使用PM2自动部署代码

执行后将pm2deloy添加到ssh高速代理中去。

将公钥添加入gitee或github中,注意本地环境添加的是个人公钥,而服务器环境需要添加在部署公钥下

如何使用PM2自动部署代码

添加成功以后,本地shell执行git -T git@gitee.com

如何使用PM2自动部署代码

返回successfully后,则说明本地ssh已经部署完成。

添加config

如果你的公钥和私钥是有别名的,需要添加一个配置文件config来说明网站和密钥的对应关系

如何使用PM2自动部署代码

如果有多个 ssh 账号需要配置,在 config 文件里隔行分开写就行

如何使用PM2自动部署代码

服务器环境

服务器环境同理,不同的是服务器环境添加的公钥需要放在部署公钥下

如何使用PM2自动部署代码

0x02 配置git

先将git origin 的地址修改成ssh的别名地址

vim /.git/config

修改origin 的中gitee.com 为别名gitee,然后保存

注意这里的别名是本地的别名gitee,但是git库需要保持一致,所以在服务器上配置的别名也为gitee,只需要配置别名即可,证书还是各有各的证书。

先到项目目录用git将刚刚创建的项目拉取下来,拉取后,我们随便部署一个测试的代码,看是否能提交进gitee
这里我使用的是node的官方测试代码

如何使用PM2自动部署代码

如何使用PM2自动部署代码

传输成功后,我们开始配置PM2的配置文件

0x03 配置PM2

官方说明中只需要配置好这里的ecosystem.config.js 配置文件,并且让本地环境和服务器环境可以通过ssh访问即可实现PM2自动部署

配置ssh

本地生成shh密钥

将密钥写入本地config文件中

将公钥写入到服务器环境中的authorized_keys

配置ecosystem.config.js

使用 pm2 ecosystem 自动生成ecosystem.config.js

ecosystem.config.js:
 module.exports = {
    apps : [{
    name: 'test',
    script: 'test.js',

    // Options reference: https://pm2.io/doc/en/runtime/reference/ecosystem-file/
    // 远程服务器上的PM2参数配置
    args: 'one two',   //参数
    instances: 1,     //实例数量
    autorestart: true,  //自动启动:是
    watch: false,     //监视模式:否
    max_memory_restart: '1G',//如果超过内存多少后,将重启实例:1G
    env: {
     NODE_ENV: 'development'
    },
    env_production: {
     NODE_ENV: 'production'
    }
 }],

 deploy : {
  production : {
   user : '远程主机用户名',
   host : '远程主机的ssh-config中的别名',
   port : '远程主机ssh端口',
   ref : 'origin/master',//远程gitee上的分支
   repo : 'git@[gitee别名]:[git库地址]',
   path : '远程服务器上的部署路径',
   'post-deploy' : 'npm install && pm2 reload ecosystem.config.js --env production'//部署完成后的操作
  }
 }
};

配置完成后,执行 pm2 deploy production setup 初始化PM2的部署

如何使用PM2自动部署代码

以后更新,执行 pm2 deploy production update,则更新新的代码并运行了。

关于如何使用PM2自动部署代码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何使用PM2自动部署代码

本文链接: https://www.lsjlt.com/news/65476.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用PM2自动部署代码
    这篇文章将为大家详细讲解有关如何使用PM2自动部署代码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。0x01 环境条件本地环境:window10的...
    99+
    2022-10-19
  • 如何使用pm2部署nodejs
    随着Node.js技术的普及,越来越多的开发者和企业开始使用Node.js进行应用程序的开发和部署。在Node.js应用程序的部署过程中,pm2是一个非常简单易用的工具,它可以帮助你完成Node.js应用程序的各种部署操作,实现灵活的管理和...
    99+
    2023-05-17
  • 如何使用Jenkins自动部署Git代码
    Jenkins是一个流行的开源自动化服务器工具,可以用于持续集成和持续部署应用程序。通过Jenkins,可以轻松地自动化测试,构建和部署代码。在这篇文章中,我们将学习如何使用Jenkins自动部署Git代码。准备工作:安装Jenkins在本...
    99+
    2023-10-22
  • 怎么使用Jenkins自动部署Git代码
    今天小编给大家分享一下怎么使用Jenkins自动部署Git代码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。准备工作:安装J...
    99+
    2023-07-05
  • 如何安装和配置pm2实现自动化部署node项目
    小编给大家分享一下如何安装和配置pm2实现自动化部署node项目,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、pm2简介pm2(process manager)是一个进程管理工具,维护...
    99+
    2022-10-19
  • 如何使Docker自动部署Apache Tomcat
    这篇文章主要介绍如何使Docker自动部署Apache Tomcat,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!介绍本文会讲述:扩展Tomcat的官方Dockerfile构建新的镜像从修改过的新镜像启动容器在容器里...
    99+
    2023-06-07
  • Linux下如何使用jenkins进行自动化部署
    这篇文章主要介绍Linux下如何使用jenkins进行自动化部署,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Jenkins是用Java语言编写的主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽...
    99+
    2023-06-28
  • MySQL如何自动化安装部署
    这篇文章给大家分享的是有关MySQL如何自动化安装部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、制作符合自己需求的RPM包我们要根据MySQL的源码编译符合企业需求的RP...
    99+
    2022-10-18
  • Jenkins如何自动部署SpringBoot项目
    这篇文章给大家分享的是有关Jenkins如何自动部署SpringBoot项目的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、Jenkins安装下载jenkins安装包,maven安装包;打开xftp将安装包上传...
    99+
    2023-06-25
  • 如何利用python脚本自动部署k8s
    目录一、准备 二、编辑脚本1、k8s.sh2、k8s_install.py三、配置ssh免密四、下载python3和git五、执行脚本六、成功七、总结一、准备 通...
    99+
    2022-11-12
  • 如何用GitHub Actions自动部署Laravel项目
    本篇内容介绍了“如何用GitHub Actions自动部署Laravel项目”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!场景设置...#我...
    99+
    2023-07-04
  • 如何用代码实现ASP.NET安装部署
    如何用代码实现ASP.NET安装部署,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ASP.NET安装部署代码实现之添加文件简介: 将SQL Server生成的脚本文件db.sq...
    99+
    2023-06-18
  • VS如何部署代码同步信息
    这篇文章主要为大家展示了“VS如何部署代码同步信息”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VS如何部署代码同步信息”这篇文章吧。使分布式系统的设计可视化将系统结构作为一个整体进行可视化已变...
    99+
    2023-06-17
  • node.js中如何使用pm2实现占用CPu100%自动重启脚本
    这篇文章将为大家详细讲解有关node.js中如何使用pm2实现占用CPu100%自动重启脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。公司使用了nodejs开发了一部...
    99+
    2022-10-19
  • 批处理文件bat脚本如何实现代码自动提交和项目部署
    这篇文章给大家分享的是有关批处理文件bat脚本如何实现代码自动提交和项目部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:最终效果图平常提交代码,没有冲突的情况下,你可能需要依次输入以下几行命令: ...
    99+
    2023-06-08
  • 怎么使用Shell脚本自动部署项目
    这篇文章主要介绍了怎么使用Shell脚本自动部署项目的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Shell脚本自动部署项目文章都会有所收获,下面我们一起来看看吧。①:在Linux中安装Gityum&n...
    99+
    2023-07-05
  • 详解如何使用Jenkins和Git来实现自动化部署
    Jenkins是一款开源的自动化部署工具,它可以通过配置来自动化构建、测试、部署代码等一系列操作。而Git则是一种流行的版本控制工具,能够管理代码的历史变更记录。在软件开发领域中,Jenkins和Git已经成为了必不可少的工具。本文将介绍如...
    99+
    2023-10-22
  • 如何利用Gitlab和Kubernetes实现自动化部署
    GitlabK8s自动化部署随着云计算和容器化技术的普及,企业越来越多地将应用程序部署在 Kubernetes 上。而为了更好地管理 Kubernetes 环境中的应用程序,越来越多的企业选择使用 Gitlab 和 Kubernetes 的...
    99+
    2023-10-22
  • 教你如何利用docker-maven-plugin自动化部署
    1、docker-maven-plugin 介绍 在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动态扩容...
    99+
    2022-11-12
  • maven如何在tomcat8中实现自动部署
    本文介绍了maven如何在tomcat8中实现自动部署,分享给大家,具体如下:首先需要有tomcat,并且配置好用户。配置的地方在tomcat的config文件中的tomcat-users.xml文件中<role rolename="...
    99+
    2023-05-31
    maven 自动部署 tomcat8
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作