23w26

July 04, 2023

本周没有新收藏的歌。

工作

  • 因为上周病休的缘故,收件箱里积累了一大堆待办事项。直到周三才清空。
  • 测试团队反映前端项目构建到测试环境的流水线用时太久了(接近十分钟),希望优化。 我看了下耗时比较久的步骤主要是构建镜像和安装依赖。先用 .dockerignore 优化了下 Docker daemon context 的体积,减少了两分钟构建镜像的时间。 而安装依赖慢则是因为在 Docker 环境中运行的流水线里,pnpm 无法利用缓存,每次都要重新下载依赖。 参考 Jenkins 文档在 Jenkinsfile 里用 Docker 的 -v 参数挂载了一个卷上去,结果 pnpm 并不能对这个挂载的卷创建硬链接,最终还是用不了缓存。 查到了一些相关 issue pnpm #6338pnpm #6064,也都没有解决,这个方向只能暂时搁置了。 下周再尝试其他方法。
  • 在一个验证“禁用早于今日的日期”的单测中学到了 jest.setSystemTime 的用法,它可以用来模拟当前日期。 不过在 Jest 中使用 fake timer 会使 @testing-library/user-event 中的一些异步 API 失效,需要为 userEvent 设置使用 jest.advanceTimersByTime 来前进 timer 才行,详见 相关 issue
  • 给 DevOps 平台的流水线列表上增加了一个“复制流水线”操作。 其实原本在新建流水线的时候就可以在表单中选择从其他流水线复制,但当用户明确知道它想要复制列表中某个特定的流水线时,却还是需要在表单中去根据流水线名称搜索。 现在则可以直接在列表上点击他看中的流水线进行复制,虽然可能只是节省了几秒钟的时间,但我觉得这个改动是属于那种能影响用户心情的体验细节。

开源和 Radar

生活

  • 这一周以来天气都十分闷热,早上没有再骑车上班了。
  • 看了下 Carl Pullein 近期的视频,其中提到了 “The 3 unsexy productivity essentials”,分别是 Sleep, exercise and diet。这令我很有启发,人才是关键,如果人本身不得劲又怎么能做得好事呢?

总结

希望大家好好睡觉、好好锻炼、好好吃饭。