BBSakura Networks Blogで使っている技術

※この記事の内容は古くなっております。現在は はてなブログ for DevBlog を使っています。

こんにちは。BBSakura Networksの日下部(@higebu)です。 この記事はBBSakura Networkのアドベントカレンダー 11日目として書きました。

昨日は佐々木社長による Peeringの世界とインターネット でした。

今更ですが、BBSakura Networks Blogを作ったので、特にすごい技術を使っているわけではないのですが、使っている技術について簡単に紹介したいと思います。

ちなみに、作った理由は、個人のSNSなどのアカウントと仕事を結びつけたくなかったり、そもそもブログを書いていないような人でもアドベントカレンダーに参加しやすくするためです。

Hugo

開発運用しているプロダクトではGoを使っていることが多いのと、使っている人が多いので、これにしました。 今確認したところGitHubのスター数が40036でした。

テーマはシンプルなものを探していたところ、 inkblotty が良さそうだったので、これをベースにロゴなどいくつかの修正をしたものを使っています。 余裕があれば独自のデザインにしたいという気持ちはあります。

コンテンツはMarkdownで書かなかればならず、gitも使えないといけないですが、弊社では社長もMarkdownで記事を書き、gitコマンドで記事を公開しています。

GitHub Pages/GitHub Actions

このブログはURLでわかる通り、 GitHub Pages でホストしています。 また、公開は GitHub Actions で自動化しています。 ブランチとしてはMarkdownで書いた記事や画像ファイルのための source ブランチと、Hugoによって生成されたコンテンツのための master ブランチがあり、 master ブランチのコンテンツはGitHub Actionsで自動で更新されます。 実際のworkflowは下記のようになっています。

name: github pages

on:
  push:
    branches:
    - source

jobs:
  build-deploy:
    runs-on: ubuntu-18.04
    steps:
    - uses: actions/checkout@v1
      with:
        submodules: true

    - name: Setup Hugo
      uses: peaceiris/actions-hugo@v2
      with:
        hugo-version: '0.60.1'
        extended: true

    - name: Build
      run: hugo --minify

    - name: Deploy
      uses: peaceiris/actions-gh-pages@v2
      env:
        ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
        PUBLISH_BRANCH: master
        PUBLISH_DIR: ./public

見て分かる通り、 https://github.com/peaceiris/actions-hugopeaceiris/actions-gh-pages を使っているだけであり、非常にシンプルです。 これらのActionを開発してくれている、 @peaceiris さんには大変感謝しております。 Actionの使い方についての解説はご本人による解説が GitHub Actions による GitHub Pages への自動デプロイ にありますので、割愛します。

以上です。