利用 Travis-CI 持续集成 LaTeX 文档

最近写了一个整理《应用数理统计》的文档,想要通过 Travis-CI 持续集成到 GitHub 上。 然而踩了非常多的坑。下面我就再整理一下,这个配置的过程。

配置过程

  1. 在 GitHub 上发布打包好的 TexLive 2018
  2. 利用打包好的 TexLive 2018 编译文档并上传 GitHub Release

在 GitHub 上发布打包好的 TexLive 2018

可以直接 Fork GitHub 上的仓库 holgern/travis-texlive , 然后 Travis 就开始持续集成的过程。 但是要在 Travis 里面配置一个 GitHub Personal Access Token , 将生成的 Token 配置到 Travis 的设置中。

在 Travis 中看到成功运行后(注意可能要非常长的时间,将近1小时),可以将仓库克隆下来,打 Tag 了。 打了 Tag ,上传到 GitHub 仓库,就可以让 Travis 持续集成发布到 GitHub Release 中。

注意:这个过程可以不用,如果你只用了所有 TexLive 自带的包,那可以直接使用 holgern/travis-texlive 的打包结果。但是如果你要安装非自带的包,那么就要先打包最新的 TexLive ,否则是无法安装的。

利用打包好的 TexLive 2018 编译文档并上传 GitHub Release

编译文档的 Travis 配置文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
language: bash
sudo: required
dist: trusty
before_install:
- curl -L https://github.com/HPDell/travis-texlive/releases/download/2018-11-30_02/texlive.tar.xz | tar -JxC ~
- PATH=$HOME/texlive/bin/x86_64-linux:$PATH
- wget https://github.com/alif-type/xits/releases/download/v1.200/XITS-1.200.zip -O XITS.zip
- unzip XITS.zip
- sudo mkdir -p /usr/share/fonts/opentype/
- sudo mv ./XITS-1.200/XITS*.otf /usr/share/fonts/opentype/
- sudo mkfontscale
- sudo mkfontdir
- sudo fc-cache -fv
- sudo pip install Pygments
branches:
only:
- /^v[\d.]+\d$/
script:
- xelatex -synctex=1 -interaction=nonstopmode -shell-escape MathematicalStatistics.tex
- xelatex -synctex=1 -interaction=nonstopmode -shell-escape MathematicalStatistics.tex
- xelatex -synctex=1 -interaction=nonstopmode -shell-escape MathematicalStatistics.tex
deploy:
provider: releases
api_key:
secure: $GITHUB_TOKEN
file:
- MathematicalStatistics.pdf
skip_cleanup: true
on:
tags: true

before_install 部分进行了以下几个步骤:

  1. 下载了打包的 TexLive 2018 ,并配置环境变量
  2. 下载了使用的 XITS 字体包并安装字体
  3. 安装了 Pygments 包以使用 minted 宏包

branchs 使用正则表达式配置了只有以 v[\d.]+\d 即形如 v1.0.0 的分支才进行持续集成。

script 里面就是 LaTeX 编译的流程。

deploy 里面设置部署的方式。$GITHUB_TOKEN 就代表了 Travis CI 配置的参数。 skip_cleanup: true 跳过 Travis 清理的过程,才能上传文件。 on: tags: true 表示只有在打了 tag 的提交上才进行部署。

最终部署的结果如下,还是非常满意的。欢迎大家下载我的 《应用数理统计复习整理》


持续集成真的好方便。

感谢您的阅读,本文由 HPDell 的个人博客 版权所有。如若转载,请注明出处:HPDell 的个人博客(http://hpdell.github.io/编程/latex-travis/
开个全局视角再看《哈利·波特》——阿兹卡班的囚徒
武汉大学《硕士英语》课视听文件字幕