卒論を自動ビルドで支える技術
卒論一応出したけど,ちょっとだけ卒論を支える技術みたいな話する.わかってるとは思うけど,これがあるからって卒論ができるわけではない.
概略
- git pushする
- 自動でビルドが走る
- Dropboxみたいなところに投げられる
git pushする
ホスティングはお得意のbitbucketで,private持ち放題なので,githubより安い.ただgithubより重いっていう印象はある.
自動でビルドが走る
今回はwerckerを使ってビルドした.latexのビルドが必要だったから,自分でbox作った.boxとかの作り方は以下を見ればいいと思う. Werckerの仕組み,独自のboxとstepのつくりかた | SOTA
programmerMOT/wercker-latex-box · GitHub
日本語texlive環境が整うようにしている.
あとはプロジェクトのルートディレクトリにwercker.ymlをかけば使える.platexとかdvipdfmxとか入ってると思う.
box: mot/latex-box@0.0.1
Dropboxになげる
werckerからは直接Dropboxに投げられないので,適当なサーバにrsyncするようにして,rsync先でDropboxに投げるようにした. 前もってwerckerの設定で秘密鍵作って公開鍵を送り先サーバに登録しておくと良い.
deploy: steps: - add-to-known_hosts: hostname: <送り先ホスト> - mktemp: envvar: PRIVATEKEY_PATH - create-file: name: write key filename: $PRIVATEKEY_PATH content: $HOST_KEY_PRIVATE overwrite: true hide-from-log: true - script: name: transfer application code: | pwd ls -la mv master.pdf $WERCKER_GIT_COMMIT-`date '+%Y%m%d-%H%M%S'`-master-mot.pdf rsync -avzr -e "ssh -i $PRIVATEKEY_PATH -o StrictHostKeyChecking=no -o UserKnownHostsFile=no" $WERCKER_ROOT/*.pdf mot@<送り先サーバ>:<送り先ディレクトリ>
送り先ディレクトリをDropboxにしておけばおk.
最後に
あとはこのDropboxの公開リンクをレビュワーに配っておけばいい. pushごとにpdfが残るのはバックアップの観点から心に余裕ができていいと思う.