标签: CI/CD

25 个内容

笔记(22)

文章介绍Docker构建/运行Python容器时pip缓存持久化方案,以加速包安装。**关键问题**:重复下载包耗时。**主要方案**:构建时用BuildKit `--mount=type=cache,target=/root/.cache/pip`;运行时(开发)用volumes挂载宿主机目录,如docker-compose中`./pip_cache:/root/.cache/pip`。注意路径、权限配置。(148字符)

Elliot Yang·
139 浏览

Docker Compose v2.20+新增`--wait`功能,用于在服务全部达到健康状态后才继续执行,常用于CI/CD。该功能依赖于服务配置的`healthcheck`,Compose会监控每个服务的健康状态,全部变为healthy才会继续,否则报错。

Elliot Yang·
107 浏览

本文介绍了在Vue 3 + TypeScript项目中,使用`vue-tsc -b`进行类型检查的最佳实践。针对多包/大型项目,`vue-tsc -b`支持Project References构建模式,实现依赖顺序编译和增量构建。对于单体应用,建议使用`vue-tsc --noEmit`进行类型检查。

Elliot Yang·
223 浏览

`docker build`和`docker buildx build`均用于构建Docker镜像,但后者是BuildKit的扩展,支持跨平台构建、并行构建和多种导出格式等高级功能。`docker build`适用于简单本地构建,而`docker buildx build`更适合复杂项目、CI/CD环境以及需要多平台支持的场景。

Elliot Yang·
539 浏览

GitHub Actions中临时禁用job的常用方法包括:使用`if: false`条件、自定义开关变量、注释job以及手动触发时设置`inputs`。`if: false`简洁易读,自定义变量灵活,注释简单但不易维护,`inputs`适用于手动运行场景。

Elliot Yang·
125 浏览

配置GitHub Actions自托管运行器需注意权限与持续运行。避免使用sudo,推荐创建普通用户运行;为保证运行器持续运行,推荐配置为systemd服务,实现稳定运行和开机自启。

Elliot Yang·
96 浏览

自托管 GitHub Actions 运行器默认不允许 `sudo` 运行以提高安全性。解决方案包括:创建普通用户运行运行器;设置 `RUNNER_ALLOW_RUNASROOT` 环境变量(不推荐);配置运行器用户 `sudo` 权限以在工作流中使用 `sudo`。Docker 权限问题可通过将用户加入 `docker` 组解决。

Elliot Yang·
185 浏览

自托管 GitHub Actions Runner 提供资源控制、网络拓扑和安全优势。部署实践包括基础安装、Kubernetes 动态扩展及安全加固策略。性能调优涉及 Linux 工具分析和常见问题解决。混合云架构案例展示了在不同环境的应用。未来趋势包括 WebAssembly、机密计算等。需关注安全漏洞并及时升级。

Elliot Yang·
426 浏览

Git强制覆盖本地文件需谨慎操作,推荐流程:`fetch --all --prune`,备份,`reset --hard`, `clean -fd`。理解Git三棵树至关重要。替代方案包括`stash + pull --force`,`checkout HEAD`等。CI/CD中建议使用独立目录、深度克隆和强制同步。误操作后可尝试`reflog`,`fsck`恢复。`git restore`优于`reset --hard`,文件系统快照提供多层防护。

Elliot Yang·
107 浏览

本文深入探讨了 Jest 与 @swc/jest 的工程实践,涵盖测试环境配置、性能调优、SWC 集成、可靠性保障等方面。重点包括 jsdom 资源加载、测试报告系统、并行测试与分片、模块解析、超时问题解决以及未来演进方向。

Elliot Yang·
184 浏览

Figma通过WebGL/WASM引擎实现流畅协同和渲染。布局系统融合绝对定位和自动布局,版本控制采用增量快照。工程实践包括响应式网格、原子组件和自动化标注。高级功能有条件原型和性能优化。AI辅助设计和可访问性是前沿趋势,集成Storybook等工具链可监控设计质量,构建设计-开发-产品黄金三角。

Elliot Yang·
194 浏览

本文深入解析 GitHub Actions 高阶技巧与工程实践,涵盖条件触发、权限控制、Shell 执行、无头环境、环境变量管理及安全风险。探讨了文件变更检测、权限分级、错误处理、Xvfb 集成、跨步骤传值等关键技术,并展望了组件化、WASM 化及 AI 辅助调试的未来趋势。

Elliot Yang·
162 浏览

深入探讨 Docker 镜像探查、多阶段构建、权限管理和构建参数等核心技术。涵盖静态分析镜像结构、BuildKit 缓存优化、UID/GID 映射、Linux 能力控制,以及 Docker Compose 的云原生演进,助力生产级实践。

Elliot Yang·
101 浏览

周报深入剖析 Git Hooks 失效、TS 作用域冲突、Swagger OperationId 工程化、Nginx 配置、Git 忽略规则等问题,并展望技术趋势。通过案例解析和实践,提供解决方案和性能考量。推荐 Git、TS 和 Nginx 相关深入阅读资源。

Elliot Yang·
103 浏览

本文针对 Node.js 项目中 OpenSSL 兼容性与依赖管理问题,分析了 OpenSSL 3.0 升级带来的兼容性挑战,并提供了降级 Node.js、启用旧版 Provider 等临时解决方案,以及锁定版本、多阶段构建、安全依赖白名单等工程化实践,帮助开发者应对历史遗留项目的维护困境。

Elliot Yang·
128 浏览

Git Remote是分布式版本控制核心组件,指向远程仓库。可切换HTTPS/SSH等协议,支持多仓库管理,常见于开源贡献和多环境部署。企业级场景涉及仓库迁移和权限控制。底层机制涉及Refspec,可调试网络问题。安全方面,避免明文存储凭证。现代开发环境集成IDE和CI/CD流水线。关注未来部分克隆、协议框架和云存储集成。

Elliot Yang·
145 浏览

GitHub Actions 的 `concurrency` 配置控制工作流并发。`group` 定义并发组,常用工作流名和分支名组合,如 `CI-main`。`cancel-in-progress: true` 取消同一组内正在运行的工作流,保证同一分支上仅运行最新构建,节省资源,避免冗余执行。

Elliot Yang·
148 浏览

在 GitHub Actions 中,使用 `workflow_dispatch` 事件可手动触发工作流。在 YAML 文件中定义 `workflow_dispatch`,然后在 GitHub 仓库的 Actions 页面找到该工作流,点击 "Run workflow" 按钮即可触发。可选择定义 `inputs` 传递参数。触发后可在 Actions 页面查看运行日志。

Elliot Yang·
323 浏览

`make`是自动化构建工具,通过`Makefile`定义目标、依赖和命令。支持变量、模式规则和增量构建,提高效率。可并行构建并支持条件判断。常用于CI/CD流程,如GitHub Actions。`make`能简化项目构建与管理,提升开发效率。

Elliot Yang·
97 浏览

本文档总结了 Docker 常用操作。介绍了查看镜像文件内容、保持容器运行、多阶段构建优化镜像大小、Dockerfile条件判断、GitHub Actions集成、解决JavaScript内存溢出、区分ENV和ARG、安装docker-compose、容器中获取宿主机IP以及docker exec指定用户等技巧,提升Docker使用效率。

Elliot Yang·
93 浏览

本文总结了 GitHub Actions 的使用技巧。包括:1. 如何仅在特定文件更改时执行 job (利用 `actions/checkout` 和 `dorny/paths-filter`);2. 如何赋予 Actions 写入权限;3. `run` 命令的换行方式;4. 如何在 GitHub Actions 环境中使用 `xsel` (使用 `Xvfb` 解决 `Can't open display` 报错, 并注意环境变量作用域)。

Elliot Yang·
93 浏览

本文介绍了 Jest 和 @swc/jest 的配置及使用技巧。内容包括:jsdom 加载子资源配置、GitHub Actions Reporter 使用、优化 MaxWorkers 设置、测试分片执行、@swc/jest 与 @emotion/react 集成,以及测试超时问题的解决方案和原因分析。

Elliot Yang·
210 浏览

动态(3)

E
Elliot Yang
公开

我终于知道为什么那么慢了,原来我一直以来在 x86 上模拟 ARM 怪不得那么慢

# Set up QEMU for ARM support - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: platforms: arm64
浏览:173点赞:0
E
Elliot Yang
公开
How do you know about a new package manager version release l read the news lt broke my pipeline
浏览:191点赞:0
E
Elliot Yang
公开

每次调试 Github Action,彷佛就带上了痛苦面具。

浏览:156点赞:0