CircleCIでMeCabを利用してHugoビルドする
更新日:2021.01.30
作成日:2017.01.14
以下のコンテナ設定が掴めてきましたので、備忘録として残しておきます。
- Circle CIで、PythonからMeCab、sklearnを利用して関連記事を作成
- Hugoでビルド&さくらVPSにブログを公開
circle.yml
現在のcircle.yml
です。以下のモジュールをインストールして、コンテナの準備、Hugoでビルド、さくらVPSへの公開を行なっています。
- MeCab
- Python
- Hugo
machine:
timezone: Asia/Tokyo
ruby:
version: 2.2.4
python:
version: 3.5.1
dependencies:
cache_directories:
- mecab-0.996
- mecab-ipadic-2.7.0-20070801
pre:
- git config --global user.name "meganii"
- git config --global user.email "[email protected]"
- >
HUGO_VERSION=0.18.1 &&
set -x &&
set -e &&
if [ ! -e $CIRCLE_BUILD_DIR/bin/hugo ] || ![[ `hugo version` =~ v${HUGO_VERSION} ]]; then
wget https://github.com/spf13/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz &&
tar xvzf hugo_${HUGO_VERSION}_Linux-64bit.tar.gz &&
sudo cp hugo_${HUGO_VERSION}_linux_amd64/hugo_${HUGO_VERSION}_linux_amd64 $CIRCLE_BUILD_DIR/bin/hugo;
fi
- sudo apt-get update -qq
- sudo apt-get install -qq python3-dev
- >
if [[ ! -e mecab-0.996/src/mecab ]]; then
wget -O mecab-0.996.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE" &&
tar xvzf mecab-0.996.tar.gz &&
cd mecab-0.996 &&
./configure --enable-utf8-only &&
make
fi
- >
cd mecab-0.996 &&
sudo make install &&
sudo ldconfig
- >
if [[ ! -e mecab-ipadic-2.7.0-20070801/sys.dic ]]; then
wget -O mecab-ipadic-2.7.0-20070801.tar.gz "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM" &&
tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz &&
cd mecab-ipadic-2.7.0-20070801 &&
./configure --with-charset=utf8 &&
make
fi
- >
cd mecab-ipadic-2.7.0-20070801 &&
sudo make install
- pip install --upgrade pip
- pip install -r requirements.txt
test:
override:
- python -V
- hugo version
deployment:
master:
branch: master
commands:
- rake create_relatedposts
- rake -q deploy_to_sakura_from_circleci
- pwd
- git add data/* tmp/* && git commit -m "[ci skip] publish"; if [ $? -eq 0 ]; then git push origin master; else :; fi
Hugoインストールの修正
元々はHugoのインストールを以下の通り、都度最新版をダウンロードしていたのですが、Hugoの開発が行われる度、ビルドに失敗するため、バージョン固定としました。
変更前
- go get -u -v github.com/kardianos/govendor
- go get -u -v github.com/spf13/hugo
- cd /home/ubuntu/.go_workspace/src/github.com/spf13/hugo && govendor sync && go install
変更後(バイナリをダウンロード)
- >
HUGO_VERSION=0.18.1 &&
set -x &&
set -e &&
if [ ! -e $CIRCLE_BUILD_DIR/bin/hugo ] || ![[ `hugo version` =~ v${HUGO_VERSION} ]]; then
wget https://github.com/spf13/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz &&
tar xvzf hugo_${HUGO_VERSION}_Linux-64bit.tar.gz &&
sudo cp hugo_${HUGO_VERSION}_linux_amd64/hugo_${HUGO_VERSION}_linux_amd64 $CIRCLE_BUILD_DIR/bin/hugo;
fi
Related contents
TECH
2016.09.08
Circle CIでテストを定期実行する
TECH
2016.08.15
Circle CIでHugoのビルド・デプロイを実行する
TECH
2017.12.22
はてなダイアリーからはてなブログ経由で独自ドメインのブログに記事を移行しました
TECH
2017.10.14
HugoでのシンタックスハイライトにPython Pygmentsが不要となった
TECH
2017.10.07
HugoのRelated Contentを利用して関連記事を表示する
TECH
2017.08.31
Hugo Shortcodesの作り方
TECH
2017.04.09
gulpで画像の最適化
TECH
2017.03.19
Hugoで生成した静的サイトのホスト先をさくらVPSからNetlifyに変更する