学科サーバーでの自動ビルド
自動でビルドをするためにはCI/CDという機能を使います
CI/CDって何
- CI/CDは継続的にインテグレーション.継続的デリバリーと言われるものです
- 簡単にいうとみなさんがpushをした時にGitLab-runnerと言われるものが自動的に作業をしてくれます
- 今回はこれを用いて自動でpdfを出力してくれるようにします
- これを使用するとみなさんがLatexの環境を構築しなくて済むようになります
gitlab-ciの設定をしよう
GitLab CIを使った LaTeXのビルド方法
学科のGitLabにLaTeXのコード一式をcommit, pushすることで、LaTeXのコンパイルを学科サーバー側で行うことができます。
これによりローカルのmacOSにLaTeXの環境をインストールすることなく、レポートや論文を書くことが可能です。
.gitlab-ci.yml
を作成します
- GitLabのCIでビルドを行いますので、リポジトリのトップディレクトリに
.gitlab-ci.yml
を書きます。
- LaTeXのテンプレートを使う場合は変更しなくてOKです
- 別のLaTeXプロジェクトを使う場合は変更する必要があります
- [メインのtexファイル名]はコンパイルしたいLaTeXのファイル名を指定してください
report.tex
, master_paper.tex
など
- [生成されたpdf]は、LaTeXのファイル名と同じです
report.pdf
, master_paper.pdf
テンプレート
stages:
- build
latexmk:
stage: build
script:
- $HOME/tool/latex.sif latexmk -f [要変更: メインのtexファイル].tex
- git add [要変更: 生成されたpdf]
- git commit -m '[skip ci] generate pdf'
- git push git@gitlab:${CI_PROJECT_PATH}.git HEAD:${CI_COMMIT_BRANCH}
記載例
stages:
- build
latexmk:
stage: build
script:
- $HOME/tool/latex.sif latexmk -f master_paper.tex
- git add master_paper.pdf
- git commit -m '[skip ci] generate pdf'
- git push git@gitlab:${CI_PROJECT_PATH}.git HEAD:${CI_COMMIT_BRANCH}
ビルドフロー
- LaTeXのビルドではsingularity経由でいろいろなツールが使えますが、上の例では
latexmk
を使っています
- デフォルトでは、このlatexmkの設定が使われます
- リポジトリのトップに
.latexmkrc
を書くと上書き可能です
$latex = 'uplatex -shell-escape -synctex=1 -halt-on-error';
$latex_silent = 'uplatex -shell-escape -synctex=1 -halt-on-error -interaction=batchmode';
$bibtex = 'upbibtex %O %B';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$dvipdf = 'dvipdfmx %O -o %D %S';
$max_repeat = 5;
$pdf_mode = 3;
makeなどのlatexmk以外のコマンドを使いたい場合
- yamlの
$HOME/tool/latex.sif
の後ろに実行したいコマンドを書くと実行可能です
git add
の前に書くようにしてください
makeを使う場合
stages:
- build
latexmk:
stage: build
script:
- $HOME/tool/latex.sif make
- git add master_paper.pdf
- git commit -m '[skip ci] generate pdf'
- git push git@gitlab:${CI_PROJECT_PATH}.git HEAD:${CI_COMMIT_BRANCH}
成功した場合
- リポジトリのトップに、yogi猫のアイコンで「
[skip ci] generate pdf
」と表示されていたら、pdfが生成されています

卒論/修論のリポジトリを作成しよう
- 卒論
- 修論
- 自分の卒論/修論を公開するためのプロジェクトを作成する
- その次に画像の右上にある「NewProject」をクリック
- クリックした後にプロジェクト名を入力する
Page 1 of 23