1. SIS Lab
  2. >
  3. Blog
  4. >
  5. CircleCIでMeCabを利用してHugoビルドする

CircleCIでMeCabを利用してHugoビルドする

更新日:2020.02.02 作成日: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@hogehoge.com"
    - >
      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に変更する