小公司都是怎么部署代码到生产环境服务器的?

2021-06-25 15:32:34 +08:00
 rockyliang

据我所知,大公司的代码上线流程一般都会很规范,有专门的代码发布系统。但小公司的话,可能会没有实力去开发这种发布系统,所以想了解下这个问题。

如果是我的话,我的做法应该是: 首次部署使用 git clone,后续代码的变更则使用 git pull

这种做法好不好?或者有没有更好的做法呢?

19544 次点击
所在节点    程序员
144 条回复
everyx
2021-06-25 22:27:49 +08:00
docker swarm + 手动更新镜像 😂
hsowan
2021-06-25 22:36:40 +08:00
Jenkins: Build great things at any scale
Felldeadbird
2021-06-25 22:53:35 +08:00
我一直 SFTP 传上去的。将要上传的文件 通过 GIT 导出差异。
Soar360
2021-06-25 23:02:16 +08:00
如果是 .NET 项目的话,可以参看:

使用批处理(.bat)文件一键编译 .NET CORE 网站并发布至 IIS

https://www.coderbusy.com/archives/1595.html
rockyliang
2021-06-25 23:16:15 +08:00
@sagaxu 牛逼,如果出 bug 了怎么办,直接线上修 bug 吗😂
pigspy
2021-06-25 23:17:01 +08:00
gitlab ci 挺好用的
awing
2021-06-25 23:32:14 +08:00
有 CI/CD 吗?没有,那就这样:

```bash
tar -cJf - ./xxx | ssh user@hostname 'tar -xJf -'
```
jingkaimori
2021-06-25 23:33:38 +08:00
@GM 生产环境的合并也不总是 fast foward,git pull 在相似代码格式变动后的自动合并能治好低血压
coolcoffee
2021-06-26 00:00:54 +08:00
直接专门有个分支来 git pull 也是没问题的,已经算是有点流程了, 只要别让其他人有权限直接去改文件内容。

但更好的办法就用 git tag,每次发版本的是都打出一个 tag,然后远程去 check git tag 或者用 CICD 流去更改生产服务器的内容。

打 tag 的好处就是方便有个版本回滚,万一这次发的版本有问题,迅速找到上次发版正常的 tag 再发一次就能回滚完成。
dayeye2006199
2021-06-26 00:04:31 +08:00
github actions + skaffold 部署到 k8s

感觉这个和公司大小没关系,本身也没特别复杂,就看你们的工程实践是不是重视。
大部分没法自动化部署我觉得都不是工具系统不足的问题,主要是
1. 心态 - 不信任自动化部署、连续部署
2. 不写测试 - 没有 CI,上线心慌慌
3. 政治 - 运维表示我不是没活干了
sagaxu
2021-06-26 00:04:59 +08:00
@rockyliang 出 bug 再登上去现场改啊,调试的时候来点 exit(json_encode(xxx))也是日常操作了
shayuvpn0001
2021-06-26 00:14:19 +08:00
@rockyliang 现在都 DevOps 了,一边开飞机一边修飞机是基操了吧。
kwanzaa
2021-06-26 00:19:32 +08:00
@sadfQED2 有被笑到
timothyye
2021-06-26 00:25:27 +08:00
GitLab -> GitLab CI runner -> Docker Image -> Harbor -> K8S
w7938940
2021-06-26 01:03:46 +08:00
cap deploy
zhjy23212
2021-06-26 01:13:45 +08:00
docker 打包,还在用 docker swarm,写了个 makefile,make stop make restart
MarkLeeyun
2021-06-26 01:31:40 +08:00
xftp
akira
2021-06-26 01:42:18 +08:00
需要编译的 本地编译好,sftp 上传到服务器
不需要编译的 服务器端直接修改
vibbow
2021-06-26 03:40:25 +08:00
小公司当然是直接 sftp 拖文件 😂
xuanbg
2021-06-26 05:39:00 +08:00
自然是 jenkins 点一下构建就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/785777

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX