最早的时候部署 php 可以用 deployer 。 现在用的 go ,打包什么的可以用.goreleaser 解决。但是上传部署不知道有什么方便的工具么。最好工具可以本地操作,或者部署在服务器,上传后自动执行也可以。不知道有什么开园工具么。
1 Jinnrry 321 天前 无脑 docker |
![]() | 2 rxmt 321 天前 无脑 docker 或 compose +1 |
3 qczrzl 321 天前 docker-compose |
![]() | 4 qloog 321 天前 简单点就是 scp + systermd(一般服务器上都有), scp 用于部署二进制,systermd 用于部署后自动启动服务,下面是基于此原理的一些库 -------- https://github.com/dreamans/syncd 可以了解下 是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率. (用到了 scp ) 或者 https://github.com/pioz/god 能让你无需繁琐的 SSH 登录和手动配置,即可在远程服务器上部署、控制 Go 编写的守护进程 (依赖 systermd ) |
![]() | 6 usboy 321 天前![]() docker-compose k3s |
7 flytsuki 321 天前 docker-compose, pm2, supervisor |
![]() | 8 lpe234 321 天前 git pull && docker compose up -d --build |
9 esee 321 天前 自己写脚本加 PM2 守护,简单明了 |
![]() | 10 R4rvZ6agNVWr56V0 321 天前 让 AI 帮你生成一份 docker compose 配置。 |
![]() | 11 ElmerZhang 321 天前 代码 -> gitlab -> gitlab-ci -> docker build -> aliyun registry -> k8s/docker-compose |
![]() | 12 seers 321 天前 via Android cicd 钩子,自动打包自动发布,生活太美好了 |
![]() | 13 fuis 321 天前 ![]() 用 docker-compose 和 portainer 部署。遇到没有 docker-compose.yml 的项目,用 composerize 从 docker run 里生成;遇到忘记 docker run 的情况,用 runlike 从运行中的容器生成命令行。 |
![]() | 14 zhengxiaowai 321 天前 我感觉都要暴露年龄了,,,supervisor 。。 |
![]() | 15 ptaooo 321 天前 目前用的 1panel ,纯懒 |
![]() | 16 nonewind 321 天前 supervisor + 1 |
![]() | 17 itechify PRO portainer stack |
![]() | 18 chingyat 321 天前 Podman |
![]() | 19 ysicing 321 天前 k3s 或者 docker |
20 julyclyde 321 天前 首先否决掉 supervisorD 、pm2 之类的,他们自己的存活性没保证 然后否决掉 nohup因为 interactive shell 对环境变量的污染会带来隐式外部依赖,nohup.out 无法 rotate 、login session 无法退出等问题 正确的选择是 systemd 或者容器 |
![]() | 21 ShineyWang 321 天前 不是开源的,商业软件 Octopus |
22 Yadomin 321 天前 k3s 或者 systemd |
![]() | 23 IDAEngine 321 天前 CapRover |
![]() | 24 IDAEngine 321 天前 主要是用 CapRover ,和 Heroku 比较类似,还挺好用的,另外就是 minikube |
![]() | 25 mohuani 321 天前 @zhengxiaowai 我还在用。。。。 |
![]() | 26 PungentSauce OP @Jinnrry 是本地打 docker ,然后推送到 docker hub ,然后在服务器拉取么。 |
27 Jinnrry 321 天前 ![]() @PungentSauce 我的方案是代码 push 自建的 gitea ,然后 gitea action 自动编译 docker image ,编译完成后 scp docker image 到服务器,然后 docker 加载镜像运行。 最早的时候我是编译完后 push 到 docker hub ,然后服务器上面拉镜像,结果发现国内 push docker hub 很慢,而且很不稳定 然后我又把 docker hub 改成了阿里云的 docker 镜像中心,用了几年,后面发现免费的阿里镜像中心也不稳定,偶尔会抽风拉不下来,抽风的时候毫无办法,毕竟没付费 最后就改成了直接 scp 镜像过去 |
![]() | 28 PungentSauce OP @qloog 可以的,这个我看和 deployer 比较像,不过我不希望服务器再装 go 环境了,这个有上传功能,应该也可以做到,这个我研究下。 |
![]() | 29 beatboxgao 321 天前 ansible |
![]() | 30 defunct9 321 天前 都是啥乱七八糟的,楼上是正解 |
31 twohan198 321 天前 机器台数=1 , 直接 nohup xxx & 机器台数小于 5 ,直接 sshpass 机器台数>5 ,ansible |
![]() | 32 manami 321 天前 我的 Jjava 程序,有人问就说用 docker 部署,实际上是 nohup java -jar 因为机子资源有限,装个 docker 太耗资源了,没必要 |
![]() | 33 COW 321 天前 via Android 写个 shell 也就几个步骤,复杂场景再考虑 ansible |
![]() | 34 guanzhangzhang 321 天前 docker-compose daemon 类 go 写的二进制就 systemd go 写的工具类 cli 就 screen |
35 DiamondYuan 321 天前 推荐 CapRover , 基于 docker 开发的。 优点是开源免费,架构简单。 可以免去配证书的麻烦事。 出了图形界面,还有 cli ,可以自己和 GitHub action 组合,搞 CICD 。 |
36 Ggmusic 321 天前 via iPhone 图形化界面 必须是 semaphore 。AMX 太重。 |
![]() | 37 Licsber 320 天前 https://www.bilibili.com/video/BV1yTBqY7E3M/ 可以看下我最近写的小工具 跳过前面直接看部署部分 成果(短链接): https://j.licsber.site/baidu django + gunicorn(wsgi) + nginx(静态文件) 用 Dockerfile 打好镜像 然后 volume 挂载数据 docker-compose 管理启停 然后 K3s 的 traefik 来代理 加 ssl 证书 加压缩等 支持 HTTPS 证书自动续签(lets + cert-manager) 超简单部署 只需要`docker-compose up -d && kubectl apply -f proxy.yaml` |
![]() | 38 Licsber 320 天前 OP 不想用 Docker 感觉大可不必 额外占用的资源完全可以忽略不计 我的方案回滚靠`git reset && git checkout xxx` 至于持续部署 可以靠 CI/CD 工具 但是其实不太常用吧 发版一周能发一次属于合理范围 只有在 staging 的应用才会每个 commit 每个 push 都重新启动部署 所以我还没折腾全自动化的部署 目前整套流程也就半分钟 三个命令而已 |
39 alalei 320 天前 用 spug 写发布脚本。。。 |
40 yqs112358 320 天前 2c2g 用 docker 也没啥呀,这东西本身也没太大占用,我 1c512M 5G 硬盘的小鸡都在用 docker 跑服务(也是 go 单体应用),基础镜像直接用 scratch (镜像只有程序本体大小),或者有简单 shell 需求的话用 alpine (多几 MB ),goreleaser 可以自动上传构建结果到 hub ,服务器上一条命令就拉下来安装/更新然后就启动了。 个人认为用这种标准化的办法来部署服务算是比较好的,应该也算不上重吧,而且用 docker 跑服务在安全性方面也有额外的保障 |
![]() | 41 bluedawn 320 天前 docker/k8s 设计之初就是为了解决自动化部署问题 不用它们用啥 |
![]() | 42 bluedawn 320 天前 另外 docker 非常轻量级,重个啥 |
![]() | 43 xuanbg 319 天前 我 1C0.5G 照样用 docker ,只不过上面只跑一个 nginx 做反向代理罢了。 |
44 mozhizhu 319 天前 all in docker |
![]() | 45 frankilla 319 天前 docker-compose 作为小白,我是觉得比 docker 好用。 |
![]() | 46 mengdodo 318 天前 git 配合 runner 实现提交到指定分支自动 build 后 ssh scp 同步,再配合下 pm2 supervisor 实现重启,全部自动化 |
![]() | 47 EscYezi 318 天前 via Android 如果是自己写的本地 build 好直接 ftp+pm2,其他的尽量用 docker compose |
![]() | 48 realpg PRO 自己写 systemd-services |
![]() | 49 LostPrayers 318 天前 开发测试阶段用 screen 方便看输出,上线了换 systemd |
![]() | 50 jqtmviyu 318 天前 pm2 + config.json |