☰
推送即出PDF:resume-template的GitHub Actions自动编译工作流逐行详解(build.yml完整注释)
2026/10/11 12:49:03 网站建设 项目流程

【免费下载链接】resume-template

The best LaTeX resume template.

项目地址:https://gitcode.com/gh_mirrors/resumetemplate3/resume-template
点击查看免费下载

resume-template 是一个用 LaTeX 制作的简历模板项目:你只需要修改.tex文本文件并推送代码,GitHub Actions 就会自动编译出排版精美的简历 PDF,无需本地安装任何 LaTeX 环境。本文带你逐行读懂它内置的自动编译工作流 build.yml,从零看懂「推送即出 PDF」的完整链路。

1. 为什么这个模板值得新手关注

传统 LaTeX 简历的痛点很明确:需要安装 TeX Live、配置宏包、自己敲编译命令,环境一乱就是满屏报错。resume-template 用一套 GitHub Actions 工作流解决了这个问题——每次 push 后云端自动编译,PDF 直接躺在 Actions 的产物(Artifacts)里等着下载📄。

整个仓库只有三个关键部分:

模块路径作用
自动编译工作流.github/workflows/build.ymlpush 触发,自动编译双语言简历
英文版简历resumes/en/resume.tex面向国际求职(美国/欧洲/远程)
葡萄牙语版简历resumes/pt-br/curriculo.tex面向巴西市场

项目总览可参考 README.md,写作技巧可参考 prompts/prompt_en.md 和 resumes/en/README.md。

2. 全自动出 PDF 的整体链路

先用一张流程表建立全局认知,后面的逐行解析都会对应到其中某一步:

  1. 你推送代码→ 触发条件on: push命中
  2. 云端拉取最新仓库→ checkout 步骤
  3. 安装 TeX Live 编译环境→ apt 安装宏包
  4. 分别编译英文版和葡萄牙语版→ 两次pdflatex
  5. 打包 PDF 为构建产物→ upload-artifact 步骤
  6. 你去 Actions 页面下载 PDF✅

3. build.yml 逐行详解

下面按代码块分组讲解,每段都对应 build.yml 中的真实行号。

3.1 工作流名称与触发条件(第 1~4 行)

name: Build on: push:
  • name: Build:给工作流起名叫 Build,它会显示在 Actions 页面的列表里;
  • on: push::这是整条流水线的"开关"——只要有人向仓库推送任意分支的代码,工作流就自动运行一次。push:后面为空表示监听所有分支,不需要额外配置。

💡 如果想只在 main 分支触发,这里可以追加branches: [main]。

3.2 定义 Job 与运行环境(第 6~8 行)

jobs: generate-pdf: runs-on: ubuntu-latest
  • jobs:下面定义了唯一一个任务,名叫generate-pdf(生成 PDF);
  • runs-on: ubuntu-latest:指定任务运行在 GitHub 提供的最新 Ubuntu 虚拟机上。选 Ubuntu 而非 macOS 或 Windows,是因为 Linux 下安装 TeX Live 最成熟、最省事。

3.3 第一步:拉取代码(第 10~12 行)

steps: - name: Checkout repository uses: actions/checkout@v4

每个工作流的第一个步骤几乎都是它:actions/checkout@v4是 GitHub 官方 Action,作用是把你的仓库代码克隆到云端虚拟机上。@v4锁定了版本号,保证行为稳定。没有这一步,后面所有命令都没有代码可操作。

3.4 第二步:安装 TeX Live 编译环境(第 14~17 行)

- name: Install TeX Live run: | sudo apt-get update sudo apt-get install -y texlive-latex-base texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra texlive-lang-portuguese

这一步用 apt 一次性装齐编译所需的一切,五个包各司其职:

  • texlive-latex-base:pdflatex 编译器的核心;
  • texlive-fonts-recommended+texlive-fonts-extra:中英文简历排版所需的推荐字体与扩展字体;
  • texlive-latex-extra:简历里用到的geometry、titlesec、hyperref等宏包基本都在这里;
  • texlive-lang-portuguese:专门支持葡萄牙语版简历的babel语言包 🇧🇷。

-y参数让安装过程自动确认,不会卡在交互提示上。

3.5 第三步:编译英文版简历(第 19~21 行)

- name: Build English Resume working-directory: resumes/en run: pdflatex resume.tex
  • working-directory: resumes/en:把后续命令的工作目录切到英文版简历所在文件夹;
  • run: pdflatex resume.tex:执行一次编译,产出 resumes/en/resume.pdf。

单次pdflatex对这个模板足够,因为文档结构固定、没有交叉引用,不需要多遍编译。

3.6 第四步:编译葡萄牙语版简历(第 23~25 行)

- name: Build Portuguese Resume working-directory: resumes/pt-br run: pdflatex curriculo.tex

结构与上一步完全对称:切到 resumes/pt-br/ 目录,编译curriculo.tex(葡萄牙语"简历"),产出curriculo.pdf。两份简历独立编译、互不影响——英文版编译失败也不会连累葡萄牙语版。

3.7 第五步:上传 PDF 构建产物(第 27~33 行)

- name: Upload generated PDFs to GitHub Actions Artifacts uses: actions/upload-artifact@v4 with: name: resumes path: | resumes/en/resume.pdf resumes/pt-br/curriculo.pdf

这是「推送即出 PDF」的临门一脚:

  • uses: actions/upload-artifact@v4:GitHub 官方 Action,把指定文件打包成构建产物;
  • name: resumes:产物包的名字,下载时你看到的就是它;
  • path:列出两个 PDF 的相对路径,|表示接下来是多行文本。

编译结束后,虚拟机会被销毁,PDF 只存在于你打包上传的这个 artifact 里——所以上传步骤是整个工作流中唯一"留住成果"的环节。

4. 最快上手方法:Fork 后三步出 PDF

看懂原理后,实际使用非常简单:

  1. 点击仓库页面右上角的 Fork 按钮,把 resume-template 复制到自己的账号下,然后克隆:
git clone https://gitcode.com/gh_mirrors/resumetemplate3/resume-template
  1. 打开 resumes/en/resume.tex,把姓名、联系方式、经历改成自己的(不懂 LaTeX 也可以按 README.md 的指引借助 AI 编辑器修改);
  2. git push推送到自己的仓库,等待约 1~2 分钟,进入 Actions 页面点击Build任务,在产物列表下载resumes包,解压即得 PDF 🎉。

5. 新手常见问题(FAQ)

Q1:为什么不用setup-texlive这类现成 Action?GitHub 上有setup-texliveAction,但官方示例的 apt 方案更透明:装什么、装几个包,一眼看得清,方便你按需增删。

Q2:想加一个中文简历怎么办?只需三处改动:新增resumes/zh/目录放入.tex文件;在 TeX Live 安装步骤里追加texlive-lang-chinese;再仿照 3.5 节加一个编译步骤,并把它加入path:列表。

Q3:编译失败怎么排查?打开 Actions 里失败的Build任务,展开对应的 step 查看日志,pdflatex的报错会精确指出是哪个宏包或命令缺失——照着补安装即可。

6. 一句话总结

build.yml 用不到 40 行 YAML 就搭出了一条完整的 CI 流水线:push 触发 → 拉取代码 → 装 TeX Live → 双语言 pdflatex 编译 → PDF 打包上传。掌握这个模式后,任何"源文件 → 构建产物"的自动化场景你都能照葫芦画瓢,再也不用在本地和 LaTeX 环境搏斗啦 ✨

【免费下载链接】resume-template

The best LaTeX resume template.

项目地址:https://gitcode.com/gh_mirrors/resumetemplate3/resume-template
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询