Windows Terminal 正式リリース版をチェック

Windows Terminal Preview 版を触ったのは1年ぐらい前。 blog.kondoumh.com 最近正式リリースされたらしいと聞いていたので、会社の Let's note の Windows Update をかけてからバージョンを確認したところ、確かに 1.0 に到達していました。 起動時にエラー…

Cloud Native Buildpacks を GitHub Actions で使うための Action 作ってます

Buildpacks ステキでした。 blog.kondoumh.com これを社内プロジェクトの CI で使うために GitHub Actions の Action にすることを試みました*1。 最初 Docker Action でサクッと作れるだろうとたかを括っていたのですが、よく考えるとコンテナイメージを Do…

Dockerfile 記述不要の Cloud Native Buildpacks を使ってみる

アプリがコンテナイメージで配布されていると利用者側は導入が楽で便利です。しかし Dockerfile を記述するのはそれなりに経験が必要で、試行錯誤してるうちかなりの時間が溶けてることもままあります。Dockerfile 書いた後もセキュリティスキャンとか、ベー…

setup-terraform Action で Terraform 実行を簡潔に

HashiCorp から GitHub Actions の setup-terraform Action が登場しました。 github.com 公式ドキュメントはこちら www.terraform.io 従来は terraform-github-actions が提供されていましたが、こちらは今凍結されています。 github.com Terraform は init…

ノート・メモ環境 2020 (だいたい Scrapbox)

ノート・メモやタスク管理については過去にもちょいちょい書いてました。 blog.kondoumh.com blog.kondoumh.com blog.kondoumh.com 最近はやはり Scrapbox 中心になっています。 書きはじめ 作業計画や実装方式を検討する時などまとまったテキストを書く時、…

Netlify への JSON publish を GitHub Actions に移行

以前 Tumblr の JSON データを Netlify で定期的に配信するようにしました。 blog.kondoumh.com その時は GCP の Cloud Scheduler を使って定期的に GitHub repo の Master branch を取得しデプロイ時に Netlify build を使って JSON ファイルを生成していま…

Scrapbox のページを Markdown に変換する CLI

以前、野良 Scrapbox アプリでページ本文を Markdown にしてクリップボードにコピーする機能を実装しました。 blog.kondoumh.com アプリを使っていなくて変換だけを使いたい場合もあるかもということで、CLI を作りました。Scrapbox API でページの JSON を…

GCP の Microservices demo を GKE で動かしてみる

今年の初めに Google Cloud からマイクロサービスアーキテクチャのデモアプリを GCP にデプロイするハンズオンが出てました。 cloud.google.com Hipster Shop という EC サイトのデモアプリケーションを fork して使用します。 github.com ベースは2年ぐらい…

Scrapbox ページ間リンクを可視化するための CLI をリリース

以前 Scrapbox のページ間リンクを Graphviz で可視化してみました。 blog.kondoumh.com Scrapbox からデータを取得し、可視化用の dot ファイルを生成するところまでをカバーした CLI ツールを mamezou-tech で公開しました。 github.com README と help を…

GitHub リポジトリの OGP (Social preview) 設定

GitHub リポジトリの URL を SNS やブログに貼る時、通常だとリポジトリオーナーのアバター画像が表示されます。 github.com 設定すればリポジトリ毎の OGP 画像が設定できます。 github.com Twitter に貼るとこんな感じ https://t.co/8IrmaA0VNH— MH (@kond…

Netlify にホームページのプレビューサイトを設置

昨年 Hugo と GitHub Actions で static サイトの生成と公開を自動化しました blog.kondoumh.com 自動化で楽にはなりましたが、publish が全ファイル転送なのでけっこう時間がかかります。ブログカードの見え方などはローカルサーバーでは表示されず、実際に…

VS Code Extension 公開時の Access Token 取得 2020

以前 Marketplace に放流した ChangeLog extension blog.kondoumh.com 久々にちょっと修正したので、Marketplace に publish しようとしました。 前回 publish した時の Access Token はとっくに expired なので、再取得。 しかし、vsce login で Token を渡…

GitHub Actions でビルド番号が使えるようになってる

CI

GitHub Actions でもビルド番号が利用できるようになりました。 help.github.com かなり最近入った機能なので、現時点では日本語ドキュメントでも説明が英語のままです。 GITHUB_RUN_ID と GITHUB_RUN_NUMBER それぞれ 実行ID と実行番号というところでしょ…

Twitter タイムラインの自動リフレッシュを Electron アプリで実現

デスクトップでは Twitter を PWA で使っていますが、タイムラインが自動更新されないのがちょっと・・と思っていました。 かなり前に Electron で作ってた Twitter client blog.kondoumh.com このアプリに自動リフレッシュを組み込んでみようと思いました。…

Scrapbox プロジェクトのグラフ構造を Visualize してみる

Scrapbox で他のページへのリンクを作成した途端、ページの下にアイキャッチ付きのリンクがリアルタイムでできていくので書いててテンション上がりますよね。 Scrapbox API を使うと各ページの情報とページ間のリンクを JSON で取得できます。 scrapbox.io G…

Linux Desktop でも VS Code 使う

これまで Linux はもっぱら SSH で使ってたのですが、ここにきて Desktop も使うようになってきました。Kubernetes にデプロイしたアプリの動作確認を VM の localhost でするためです。 当然コードを書くのは VS Code の生産性が圧倒的に高いのでインストー…

VirtualBox 6.1 で Intel CPU の Nested Virtualization が解除された

Nested Virtualization は仮想マシンからホストマシンの CPU の仮想化機能を利用できる機能です。 VirtualBox では AMD CPU の Nested Virtualization が 6.0.6 でリリースされました。そして 6.1.0 で Intel CPU でも Nested Virtualization が利用できるよ…

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…

Electron アプリの通知 on Windows

Electron は Notification をサポートしていて、Renderer プロセスでも Main プロセスでも表示できます。 野良 Scrapbox アプリで GitHub API 使って latest release を取得し現在のバージョンと違っていたら通知を出し、クリックしたらダウンロードページを…

Kubeflow が MicroK8s の Addon になってた

以前 Kubeflow を MiniKF (Minikube ベースの VirtualBox イメージ) で導入しました。 blog.kondoumh.com その後 Ubuntu 19.10 のリリース時、Kubeflow が MicroK8s の Addon として導入できるようになるというアナウンスがありました。 ubuntu.com MicroK8s…

Argo CD で GitOps 環境を構築する on GKE

GitOps というアプリデプロイ戦略が Cloud Native な CD *1 で普及し始めています。 www.weave.works ソースコードのリポジトリとは別にアプリの設定用リポジトリを用意し、リポジトリの状態とデプロイの状態を一致させるようにツールを利用して管理します。…

iPad でコードを書く Late 2019

ラップトップに比べるとかなり軽量な iPad。Cellular モデルなら出先や新幹線に持ち込んですぐコードが書けます。Magic Keyboard をペアリングしてるのでタイピングもノンストレスです。 blog.kondoumh.com Blink で Ubuntu の仮想マシンに接続して Tmux + E…

Emacs の go-mode 設定

最近わりと Go 書くようになってきたので Emacs の Go 環境を作ってみました。 company を使っているのでコード補完は company-go、godoc の表示は go-eldoc にしてみました。 ~/.emacs.d/init.el の設定。タブ幅は2にしてます。保存時に gofmt かけています…

Terraform と GItHub Actions で DigitalOcean Droplets の CI/CD を作る

VPS は DigitalOcean の Droplets が安いのでたまに利用しています。 www.digitalocean.com Terraform は DigitalOcean に対応していて専用のプラグインが HashiCorp から提供されています。 www.terraform.io Terraform 用の GitHub Actions も公開されてい…