最早的时候部署 php 可以用 deployer 。 现在用的 go ,打包什么的可以用.goreleaser 解决。但是上传部署不知道有什么方便的工具么。最好工具可以本地操作,或者部署在服务器,上传后自动执行也可以。不知道有什么开园工具么。

无脑 docker

无脑 docker 或 compose +1

docker-compose

简单点就是 scp + systermd(一般服务器上都有), scp 用于部署二进制,systermd 用于部署后自动启动服务,下面是基于此原理的一些库


github.com/dreamans/syncd 可以了解下 是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率. (用到了 scp )

或者

github.com/pioz/god 能让你无需繁琐的 SSH 登录和手动配置,即可在远程服务器上部署、控制 Go 编写的守护进程 (依赖 systermd )

推荐 god , 更简单些,也支持同时管理多个服务

docker-compose
k3s

docker-compose, pm2, supervisor

git pull && docker compose up -d --build

自己写脚本加 PM2 守护,简单明了

让 AI 帮你生成一份 docker compose 配置。

代码 -> gitlab -> gitlab-ci -> docker build -> aliyun registry -> k8s/docker-compose

cicd 钩子,自动打包自动发布,生活太美好了

用 docker-compose 和 portainer 部署。遇到没有 docker-compose.yml 的项目,用 composerize 从 docker run 里生成;遇到忘记 docker run 的情况,用 runlike 从运行中的容器生成命令行。

我感觉都要暴露年龄了,,,supervisor 。。

目前用的 1panel ,纯懒

supervisor + 1

portainer stack

Podman

k3s 或者 docker

首先否决掉 supervisorD 、pm2 之类的,他们自己的存活性没保证
然后否决掉 nohup——因为 interactive shell 对环境变量的污染会带来隐式外部依赖,nohup.out 无法 rotate 、login session 无法退出等问题

正确的选择是 systemd 或者容器

不是开源的,商业软件
Octopus

k3s 或者 systemd

CapRover

主要是用 CapRover ,和 Heroku 比较类似,还挺好用的,另外就是 minikube