跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 今天老大说想让我自己部署项目,但又怕我删错东西
未分類
1 12 月 2020

今天老大说想让我自己部署项目,但又怕我删错东西

今天老大说想让我自己部署项目,但又怕我删错东西

資深大佬 : taogen 3

远程代码仓库用的是阿里云 code,没有 CI 。服务器没有备份,怕我一不下心 rm -rf /

老大只是今天下班前提了一下,还没给服务器登录帐号。

自己部署会方便一点。我该不该争取自己部署项目呢?

大佬有話說 (36)

  • 資深大佬 : QingStone

    哈哈哈哈,跟我一样。每次部署怂得一批!

  • 資深大佬 : hcsu

    我也是…每次操作生产怂的一批

  • 資深大佬 : nightwitch

    “服务器没有备份”
    出事是迟早的

  • 資深大佬 : yanzhiling2001

    3l 说得对

  • 資深大佬 : echowuhao

    CI 都没有的公司,要么跟老大说,自己来弄 CI 。要么赶紧跑路。

  • 資深大佬 : darksword21

    反正做事之前准备好备份和恢复。然后放开干

  • 主 資深大佬 : taogen

    @nightwitch 这就是墨菲定律啊

  • 資深大佬 : rabbbit

    那必须得中午部署了

  • 資深大佬 : wxsm

    简单,写个 bash,在自己机器上执行一次,没问题就到远程机器上执行。

  • 資深大佬 : dream4ever

    权限控制呢?限制账号只能操作指定目录?

  • 資深大佬 : raaaaaar

    权限被吃了吗?就是干这个事的啊

  • 資深大佬 : jimiy

    部署前,先把上一个可运行版本先备份,然后再部署新的,给自己一个退路啊

  • 資深大佬 : Noisky

    一定一定要先备份

  • 資深大佬 : f165af34d4830eeb

    你们有体验过给生产环境服务器调整分区么?我觉得应该和给飞行中的飞机换发动机的感觉差不多。

  • 資深大佬 : iloveayu

    代码都有了,先在自己本机装虚机部署,跑通整个流程,实际部署时心里就有底了。
    正式环境部署前,云服务器先来个镜像,本地虚机先打快照,手潮误删滚回就好。

  • 資深大佬 : hushao

    既然老大有这个想法,自己就争取一下吧,生产部署也没什么可怕的。
    事先做好部署方案,形成文档,固化成 shell 脚本,自己本地测试通过,然后拿给老大过目,生产环境严格按照文档或者测试通过的脚本来。
    生产部署前一定记得备份!

  • 資深大佬 : securityCoding

    为什么不直接起一个 jenkins…. pkg 包每次构建扔到 oss 上面呗

  • 主 資深大佬 : taogen

    @securityCoding 看了一下,阿里云 code 仓库有 webhooks,可以考虑使用 Jenkins 。
    有一点疑惑,pkg 包扔到 oss 上怎么结合 Jenkins 是怎么操作呀?( Jenkins 不太熟悉

  • 資深大佬 : ericgui

    如果你们有负载均衡,就可以放心的多了

  • 資深大佬 : loveyu

    先本机测试,搭一个完整的环境,脚本全部先验证一遍。

  • 資深大佬 : securityCoding

    @taogen jenkins pipline 可以自定义一个上传文件到 oss 的 stage, stage 里面可以执行命令.

    下面是我项目里面的 stage 定义供参考

    stage(‘上传 JAR 至 OSS’) {
    steps {
    script {
    path = env.WORKSPACE + “/” + params.moduleDir + “/build/libs”
    echo ‘jar 包目录:’ + path
    jarName = params.jarName
    echo ‘jar 包名称:’ + jarName
    branch = env.BRANCH_NAME
    echo ‘jar 构建分支:’ + branch
    sh(script: “/home/user_00/./oss_deploy.sh ” + ” ” + path + ” ” + jarName + ” ” + branch + ” “, returnStdout: true)
    }
    }
    post {
    failure {
    println(‘上传失败’)
    }
    success {
    println(‘上传成功’)
    }
    }
    }

  • 主 資深大佬 : taogen

    @securityCoding 感谢

  • 主 資深大佬 : taogen

    @ericgui
    to B 的项目,并发量不大,就一台服务器。

  • 資深大佬 : codehz

    上这种拼凑字符串的怎么看问题都比较大(

  • 資深大佬 : lower

    编译操作可能会对服务器 CPU 有大量消耗,不要直接在应用服务器上搞;
    尽量只在生产服务器做有限的备份 /替换 /热更新等基本操作哇……

  • 主 資深大佬 : taogen

    @lower 大佬,要自动化部署,只能在服务器上编译了。有什么其他办法吗?

  • 資深大佬 : lower

    @taogen
    我的意思是防止影响生产服务的正常运行。。。
    比如专门独立的服务器来编译打包,最后只是把部署包 发布到应用服务器……

  • 資深大佬 : mlxj

    心里默认一定不要“rm -rf”;
    心里默认一定不要“rm -rf”
    心里默认一定不要“rm -rf”
    心里默认一定 要“rm -rf”
    心里默认一定 要“rm -rf”
    心里默认一定 要“rm -rf”

  • 主 資深大佬 : taogen

    @lower 明白了。

  • 資深大佬 : js8510

    短期 hacking solution 可以 没啥大毛病。长期建议是使用 成熟的 CI/CD solution 比如你这个 hotswap solution 如果 v2 OOM/dead loop 然后 server no response 无法 rollback 你怎么办?

  • 資深大佬 : boolstone

    我记得阿里云已经禁止 rm -rf / 要加参数才可以

  • 主 資深大佬 : taogen

    @js8510 这种情况,那只能登录服务器查看 gc 日志、进程状态和系统资源占用,或者重启服务器。迫于不是 leader CI/CD 不好推行。

  • 資深大佬 : mingt

    @mlxj 念着念着就打出来了

  • 資深大佬 : baozhuo

    反正我是担责任的情况下能不自己部署,甩给别人不香吗?反正我不背锅

  • 資深大佬 : draguo

    用阿里 code,直接用云效更方便

  • 資深大佬 : julyclyde

    这个方案看起来不是很靠谱
    不过各企业具体情况不一样,你也可以先做出来再沟通

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具