开发者社区 > 云效DevOps > 正文

流水线一直显示部署中,但实际已经启动成功了,也可以正常访问

"scripts": {
    "docker": "ts-node index.ts"
}
CMD ["npm", "run", "docker"]

image.png

大家有遇到过这样的问题吗?就很不理解

难道需要再用pm2去启动项目?或者是nohup启动项目?

展开
收起
it青年 2024-01-05 15:07:37 133 0
4 条回答
写回答
取消 提交回答
  • 关于云效流水线中主机部署一直显示为“正在部署”但实际应用已经启动成功并可正常访问的情况,这可能是因为流水线在执行主机部署任务后未能正确地接收到应用的返回状态,导致流水线任务状态未能更新。

    原因分析:

    1. nohup启动项目:使用nohup命令启动项目时,确实可以将应用程序置于后台运行,并且防止SIGHUP信号的发送,关闭标准输入,并将标准输出和标准错误重定向到文件。但是,nohup命令本身不会自动将进程转为后台任务,所以需要加上&符号。

    2. pm2管理进程:pm2是一个强大的进程管理工具,它不仅可以实现类似nohup的功能,让Node.js应用程序在后台运行,还提供了负载均衡、自动重启、日志管理和集成管理等额外功能。使用pm2启动的应用程序,可以通过pm2提供的命令进行控制,如启动、停止、重启等操作。

    解决方法:

    1. nohup与pm2的选择:如果你只是需要一个简单的后台运行方式,那么nohup命令就足够了。但是,如果你希望进程能够更加稳定地运行,并且享受到更多的管理功能,那么pm2会是更好的选择。

    2. 云效流水线的pm2集成:考虑到pm2的强大功能和易用性,你可以尝试在云效流水线中通过pm2来启动和管理你的应用程序。这样,不仅可以让应用程序在后台稳定运行,还可以确保流水线能够正确地接收到进程的状态,从而更新部署任务的状态。

    3. 配置pm2:你可以编写一个pm2配置文件,如ecosystem.config.js,在该文件中配置应用程序的运行参数,如实例数、日志路径等。然后,通过流水线任务执行pm2 start ecosystem.config.js来启动应用程序。

    4. 返回值给流水线:确保你的启动脚本能够返回正确的状态值给流水线。例如,可以在脚本末尾添加echo "Deployment completed"并返回状态码0,以表示部署成功。

    综上所述,你可以考虑使用pm2来管理应用程序的部署,并通过配置正确的返回状态值来确保云效流水线能够正确地反映部署任务的状态。

    2024-01-09 11:45:06
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    流水线显示部署中但实际上已经启动成功并可以正常访问,这种情况可能由多种原因导致。首先,如果主机部署有返回值给流水线,流水线就可以显示成功;如果脚本运行完之后没有返回值给流水线,流水线就会一直等待主机的反馈。其次,你需要确认代码部署到的目标服务器是你期望的服务器,查看流水线中部署步骤的配置,检查是否将代码部署到了目标服务器上。另外,也需要查看部署步骤的日志,了解部署过程中是否有报错或异常情况发生。

    如果以上都确认无误但问题依然存在的话,可能的原因还包括代码没有被正确上传到代码仓库,或者代码编译失败等。因此,建议检查代码是否被正确地提交到了代码仓库中,以及在部署步骤中需要编译的代码是否编译成功。

    2024-01-06 11:42:56
    赞同 展开评论 打赏
  • 知道原因了,是因为命令上没有加-d导致的
    正常应该加-d

    docker run -d -p 5987:5987 $image
    
    2024-01-05 16:52:42
    赞同 展开评论 打赏
  • 从你给出的信息来看,你在部署一个使用ts-node的Node.js项目到Docker容器中,并希望通过Docker运行脚本。但是,你的容器在启动后仍然显示"部署中",这可能意味着它还没有完全启动或者你的应用程序正在进行初始化,因此还没有准备好接受请求。

    2024-01-05 16:20:36
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

热门讨论

热门文章

相关电子书

更多
基于ACK One和ACR构建CI/CD流水线最佳实践 立即下载
基于阿里云K8S服务快速构建DevOps流水线 资料下载 立即下载
低代码开发师(初级)实战教程 立即下载