V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
rockyliang
V2EX  ›  程序员

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

  •  2
     
  •   rockyliang · Jun 25, 2021 · 21861 views
    This topic created in 1767 days ago, the information mentioned may be changed or developed.

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

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

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

    145 replies    2025-09-04 09:46:28 +08:00
    1  2  
    itechify
        101
    itechify  
    PRO
       Jun 26, 2021 via Android   ❤️ 1
    曾经小公司经历的版本:
    v1:本地打包+sftp+手工命令
    v2:上述封装成本地脚本命令一件执行
    v3:项目多了,改 jenkins 发布,按钮点点点

    现在:jenkins+docker 镜像
    itechify
        102
    itechify  
    PRO
       Jun 26, 2021 via Android
    @yhxx 生产这样不怕进程没了吗😂
    madpecker009
        103
    madpecker009  
       Jun 26, 2021
    Ctrl+c Ctrl+v
    yumerdev93
        104
    yumerdev93  
       Jun 26, 2021   ❤️ 1
    本地打包 docker image,push 到自己的仓库,然后 docker swarm 更新下 service🐶
    xinJang
        105
    xinJang  
       Jun 26, 2021
    看来这里需要先对小公司做个定义。比如我目前所在公司,就我一个人搞技术!!!
    目前做法是:后端直接替换 class 跟 jsp(tomcat),公众号直接替换 npm build 之后的 dist(改名为 app)
    盲人摸象的感觉,随时准备裸辞
    dumbass
        106
    dumbass  
       Jun 26, 2021 via iPhone
    @yhxx xs 哈哈哈
    jeffh
        107
    jeffh  
       Jun 26, 2021
    >> 阿里云云效 2020,30 人一下的团队可以申请免费;
    包括云代码管理,项目管理,流水线部署等~~~

    @xuxuxu123 感谢分享,最近一直在找阿里云 CICD 的有力工具
    darrenfang
        108
    darrenfang  
       Jun 26, 2021   ❤️ 1
    服务器上装 eclipse,代码在服务器上面写,写完在 eclipse 里面重启服务器 😈
    creanme
        109
    creanme  
       Jun 26, 2021
    早些年用过 scp 部署,后来用过 gitlab
    memecoin
        110
    memecoin  
       Jun 26, 2021
    svn co svn://xxxxx/app
    service httpd restart
    JingKeWu
        111
    JingKeWu  
       Jun 26, 2021
    docker+k8s
    anonymous256
        112
    anonymous256  
       Jun 26, 2021
    @whileFalse git pull 容易自动合并或者卡在冲突. 那是因为你们工作在同一个分支上,每个人的改动不一。

    最佳实实践每个人用自己的分支,最后再 PR 或 merge 代码到主分支,merge 的权限交给对代码最熟悉的人。
    axzy
        113
    axzy  
       Jun 26, 2021
    小公司啊?直接 FTP 上传呗,然后就完事了
    byte10
        114
    byte10  
       Jun 26, 2021
    都是太低端啦,直接 vscode 远程开发,改完之后,直接启动服务,nohup 命令即可,发布完成。随时有问题,随时改,改完发布完成。有问题直接开一个节点 debug 完后,重新发布。手动、狗头
    yinxianwei
        115
    yinxianwei  
       Jun 26, 2021
    Jenkins 配合 git flow
    cp19890714
        116
    cp19890714  
       Jun 26, 2021
    上家公司稍大, 用 jenkins + k8s
    现在的小公司, 云效部署, 比 jenkins 省事多了.
    30 人以下的公司, 真心推荐云效, 不用维护那么多的工具.
    alsas
        117
    alsas  
       Jun 26, 2021
    sftp 手动放上去
    Torpedo
        118
    Torpedo  
       Jun 26, 2021
    底线就是完全自动化,可以回溯版本。

    至于怎么搞,方法有很多
    pcbl
        119
    pcbl  
       Jun 26, 2021 via Android
    web 面板搞起,生产数据库直接改(狗头)
    Dkngit
        120
    Dkngit  
       Jun 26, 2021
    @sadfQED2 谢谢你提供我今日的欢乐
    cnbattle
        121
    cnbattle  
       Jun 26, 2021
    目前再用:gitea+drone 自动部署
    whileFalse
        122
    whileFalse  
       Jun 26, 2021 via iPhone
    @anonymous256 题目说了小公司,lz 连 jenkins 都不会你让他用 pr ?一个人 force push 也可能在 ci 上冲突啊。

    所以我说 ci 应该用 fetch reset clean,没错吧? git 工作流是一回事,ci 这边要做的是精确复制,不能说 ci 要正常工作还得研发保证优雅地使用 git 。
    xyx0826
        123
    xyx0826  
       Jun 26, 2021
    用 GitHub Actions 配合这个 Action: https://github.com/appleboy/ssh-action 通过专门创建的 deploy SSH key 在服务器上 pull 然后构建
    feiniu
        124
    feiniu  
       Jun 26, 2021
    阿里云的 k8s 那一套
    wellsc
        125
    wellsc  
       Jun 26, 2021 via iPhone   ❤️ 2
    @darrenfang 我见过 win server 服务器上直接用 pycharm 跑程序的,太野了
    EscYezi
        126
    EscYezi  
       Jun 26, 2021 via iPhone
    弄个脚本调用本地 winscp,批量上传到固定目录,然后挨个登录服务器执行一下部署脚本......
    fiypig
        127
    fiypig  
       Jun 26, 2021 via iPhone
    FTP 感觉很容易出问题,git 还行的,或者 jenkins
    fernandoxu
        128
    fernandoxu  
       Jun 26, 2021
    filezilla😭
    xcstream
        129
    xcstream  
       Jun 26, 2021
    vscode 远程 保存立即生效
    MarkLazy
        130
    MarkLazy  
       Jun 27, 2021
    rz 传上去可以吗?
    junas7
        131
    junas7  
       Jun 27, 2021
    mstsc -> ctrl+c -> ctrl+v -> tomcat start
    lkk
        132
    lkk  
       Jun 27, 2021
    git 代码托管设置 webhook 。服务器上 inotify-tools 时时监控文件改变,执行 git pull 。
    HB9527
        133
    HB9527  
       Jun 27, 2021
    ansible
    810244966
        134
    810244966  
       Jun 28, 2021 via Android
    当然是用宝塔直接上传啦 :)
    who1996
        135
    who1996  
       Jun 28, 2021
    jenkins,遇到那种逗比老板不给时间做 infra 级别的开发的,只看业务,最主要是装自己很懂的,还是算了
    helllkz
        136
    helllkz  
       Jun 28, 2021
    非开发人员,处于爱好帮开发整过 Jenkins,也仅限于前端代码,整个项目部署的流程大概是这样
    停 Tomcat,更新文件,重启 Tomcat,重启 Nginx
    spike01
        137
    spike01  
       Jun 28, 2021
    之前用 jenkins,但是要自己搭。后来发现了云效,可以申请小微企业扶持,免费使用,应付十几个人的小队团足够了,使用也简单。
    94
        138
    94  
       Jun 28, 2021
    Jenkins,看到楼上说云效感觉可以试试看。
    myCupOfTea
        139
    myCupOfTea  
       Jun 28, 2021
    Jenkins docker k8s
    darrenfang
        140
    darrenfang  
       Jun 28, 2021
    @wellsc #125 公司 10 年前的项目就是在服务器 eclipse 里面跑的 😂
    x66
        141
    x66  
       Jun 28, 2021
    jenkins docker ansible
    back0893
        142
    back0893  
       Jun 28, 2021
    直接 ftp+ssh
    或者 docker
    要不就 git
    xuxuzhaozhao
        143
    xuxuzhaozhao  
       Jun 28, 2021
    @code4you bingo
    ezreal
        144
    ezreal  
       Jun 28, 2021
    node 项目 pm2 deploy
    lizy0329
        145
    lizy0329  
       Sep 4, 2025
    jenkins 这种老得不能再老的东西用来干啥? 随便一版的 gitlab 不比这玩意更好?
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3568 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 126ms · UTC 11:53 · PVG 19:53 · LAX 04:53 · JFK 07:53
    ♥ Do have faith in what you're doing.