乐趣区

关于java:来到传统行业做程序员从准备随时提桶跑路到引领技术风潮

来到传统行业做程序员,从筹备提桶跑路到引领技术风潮?

背景

制造业央企,七年老程序员,精通 JAVA“HELLO WORLD”、SHELL 脚本 ECHO“HELLO WORLD”的编写,领有 1 分钟装完 DOCKER,五分钟装完 K8S 集群,等“牛逼技能”。

混沌初开,乾坤始奠

纯纯内外网隔离,只能通过特定 U 盘拷贝,不能用 npm,maven,docker 仓库,听到这里是不是你曾经在筹备提桶跑路。开始开发部署,Centos7 装置一个 vim 找半小时的依赖,java 降级个 jar 包版本花半天工夫,npm 工程只有有更新就间接拷贝所有内容(包含 node_moudle)到内网开发,到这里我辞职报告都打好了。

为有就义多壮志,敢教日月换新天

心态转变

从“既然无奈扭转,就设法去享受,效率差就差,多摸摸鱼他不好吗?”到“我也该有做一点事件的必要了”。

打算施行

说干就干,组织泛滥开发同仁,慷慨激昂一番,大家不出意外,都反对你,这是为整体研发人员谋福利。

  1. 写出打算,实施方案,技术设计,咱们有了仓库服务器;
  2. 部署 nexus,开明端口,开明 maven、npm、yum、docker 等仓库,咱们有了仓库服务;
  3. 在外网,下载全量 Centos7.9 的 rpm 包,梳理常常应用到的 maven 开发依赖、npm 依赖并下载,转储 docker 罕用镜像;
  4. 在内网,应用平安 u 盘拷贝,执行批量上传脚本

    天不生我王小二,XX 公司开发万古如长夜

    全副搞定,公司研发人员终于能够在内网有限度的应用这些仓库了,大家都说你活真好!!!

    次要脚本及技术

    仓库服务

    次要采纳 nexus,一个服务就反对了 N 多仓库,真好。

    maven 依赖转移

  5. 拷贝外网开发机器的 maven 缓存
  6. 在相应目录执行

    find . -type f -not -path './import\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "admin:123" -X PUT -v -T {} "http://xxxxxxx.com/repository/maven-releases/"/{} ;
  7. 配置本人的 settings.xml, 即可应用

npm 依赖转移

  1. 在外网下载前端依赖

    cat` `package-lock.json| ``sed` `'s/,/\n/g'` `| ``grep` `"resolved"` `| ``sed` `'s/\"resolved\": \"/curl -O -L /g'` `|``sed` `'s/\"/ /g'` `| ``sed` `'s/?.*//'` `| sh
  2. 在内网上传依赖到仓库

    # 设置仓库
    npm config set registry http://xxxxx.com/repository/npm-xxgs/
    #登录
    npm login
    # 创立上传脚本
    touch batch-npm.sh
    # 输出以下内容
    find ./ -name "*.tgz" | while read i
        do
            echo ${i##*/}
            echo ${i}
            npm publish -registry http://xxxxx.com/repository/npm-xxgs/ ${i} --force-registry
    done
    # 运行脚本上传
    ./batch-npm.sh

docker 镜像

docker 比较简单,保留镜像,载入镜像根本就能够实现,此处不多说

总结

在这个过程中,感觉最麻烦的是 npm 的解决,经验过应用 yarn 下载,曾经写好的工具包下载,但都有一些版本号不统一的问题,最初应用自制脚本下载,才保障了版本号的一致性。

下期挖坑

纯纯跑路环境的 k8s 落地实际

本文由博客一文多发平台 OpenWrite 公布!

退出移动版