GitHub Actions で再利用可能な Action を作る

GitHub Actions では、よく使う処理を Action として切り出して再利用できます。Marketplace にはすでに多くの Action が登録されています。 GitHub Marketplace · Actions to improve your workflow · GitHub Action には Docker Container Action と JavaS…

野良 Scrapbox アプリ - 本文を Markdown 形式でクリップボードにコピー

Scrapbox はシンプルな記法で WYSIWYG を実現した稀有なサービスです。プレビューなしにサクサク書けるのです。 Scrapbox で作成した文書を Wiki などに転記するために本文を Markdown 形式に変換してクリップボードにコピーする機能を追加しました。 見出し…

GitHub Actions の run ではパイプの終端の結果がジョブのステータスになる

CI

GitHub Actions でテスト実行を tee で標準出力しつつファイルに出力するようにしました。 jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Test & report run: | go test . -v 2>&1 | tee result.txt : 出力されたファイルをレポーティン…

GitHub Actions & kind (Kubernetes IN Docker) で Matrix build の CI を構築

CI で Kubernetes を使いたい場合、自前の Kubernetes 環境か GKE や EKS を利用して常時クラスターを使えるようにしておく方法があります。 しかし、ワーカーのノード数を色々変えてテストしたい、Kubernetes のバージョンを色々変えてテストしたい、常設の…

2019 ふりかえり

Job 引き続きプロダクト開発プロジェクト。1年以上在任してます。Kubernetes を中心とした開発環境・実行環境・CI/CD パイプラインの構築をやって IaC の良さも難しさも実感しています。 別のサービス開発プロジェクトにも少し入りました。こちらはコテコテ…

Go Modules の hosting と import の関係

Go

とあるプロジェクトでセルフホストしている GitLab で Go Modules を利用しようしてハマったのでメモ。 foo モジュールを private.host/account1/foo に公開したとします。 go.mod module private.host/account1/foo go 1.12 利用側では、 import "private.h…

GitLab CI で kaniko を使ってコンテナイメージを build / push

CI パイプラインは Docker コンテナ Runner で実行することが一般的なので、パイプラインの中で docker build するには privileged モードで Runner のコンテナを実行する必要があります。いわゆる DinD (Docker in Docker) です。 build: image: docker:lat…