V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rockyliang
V2EX  ›  程序员

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

  •  2
     
  •   rockyliang · 116 天前 · 12816 次点击
    这是一个创建于 116 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    144 条回复    2021-06-28 16:35:01 +08:00
    1  2  
    oneisall8955
        101
    oneisall8955   116 天前 via Android   ❤️ 1
    曾经小公司经历的版本:
    v1:本地打包+sftp+手工命令
    v2:上述封装成本地脚本命令一件执行
    v3:项目多了,改 jenkins 发布,按钮点点点

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

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

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

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

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