きり丸の技術日記

技術検証したり、資格等をここに残していきます。

GitHubでDraftのPRを除外してOpenだけにしたい

GitHubでレビューを依頼されたときに、レビュー依頼が多すぎてOpen状態のPullRequestだけを確認したい時のメモ。

環境

  • GitHub
    • 2024/04/20

対応

次のどちらかをフィルタに設定してください。

draft:false

-is:draft

ちなみに、JetBrainsのPull Requestsでも有効です。

終わりに

作業開始したらDraftでレビュー依頼を先に出すルールで仕事しているので、本当にレビューしたらよい対象をみつけるのがたいへんでした。

フィルタに-を付けたらNotの意味になることも分かったので、今後は地味に作業改善ができます。

参考情報

DockerのMinioをアップデートしたら起動しなくなった

DockerのMinioを使用していますが、イメージが古すぎてディレクトリごとアップロードができませんでした。そのため、最新イメージにアップデートしようとしたところ、エラーメッセージが出て起動しなかったその対応を記載します。

※ プロダクション環境でMinioを使用している場合には適用できません。

環境

  • Docker
  • Minio
    • RELEASE.2019-01-31T00-31-19Z
    • RELEASE.2024-02-13T15-35-11Z

ゴール

次のエラーメッセージが出たときに、最新イメージで起動できるようにする。

ERROR Unable to use the drive /data: Drive /data: found backend type fs, expected xl or xl-single - to migrate to a supported backend visit https://min.io/docs/minio/linux/operations/install-deploy-manage/migrate-fs-gateway.html: Invalid arguments specified

対応

Dockerで保持しているminioのvolumeを削除してください。

# ボリューム名を調べる
docker volume ls
# 調べたボリューム名を削除する
# {ディレクトリ名}_{volume名} になっているはず
docker volume rm fastapi-practice_minio_data

該当イメージを使用中の場合は削除できないので、事前に停止してください。

docker compose down
docker volume ls
docker volume rm fastapi-practice_minio_data
docker compose up -d

原因

正確なBreaking Changeのバージョンは追ってません。2022年くらいのminioの改修でファイルシステムがfsからxlに変わったので、古いMinioのvolumeを破棄する必要があります。

ソースコード

なし。

終わりに

Dockerのvolume操作に関しては、docker composeではなく、dockerを使用するというのがポイントです。

WSLで起動したサーバにiPhone等のモバイル端末からアクセスする

※ 家で検証したときはできなかったのですが、会社で検証したときはできましたので、残しておきます。

WSLで起動したサーバに対してiPhoneやAndroidからアクセスすることでモバイル端末の実機確認をしたかったのですが、単純にWSLのIPにアクセスするだけでは確認できなかったので手順を残します。

環境

  • WSL
    • Ubuntu 22.04.4 LTS

ゴール

iPhoneでWSL上に起動しているサーバにアクセスする。

詳細

管理者権限でコマンドプロンプトを起動します

管理者権限でコマンドプロンプトを起動します。私の過去記事に簡単に管理者権限でアプリケーションを起動する方法を残しているので、参考にしてください。

ホストマシン(Windows)でホストマシンとWSLのIPを調べます

コマンドプロンプトにてホストマシン(Windows)とWSLのIPを調べる。

ipconfig | findstr "IPv4 Address"
# ホストマシン と WSL の IPを調べる
# 例)ホストマシンのIP
# 192.168.10.106
# WSLのIP
# 172.25.208.1

ホストマシンからWSLへのポートフォワードを設定する

直接モバイル端末からWSLのサーバにアクセスできないので、ホストマシンにアクセスしたらWSLに転送する設定します。次の設定だとホストマシンの4200番ポートにアクセスしたら、WSLのサーバに4200番ポートでアクセスします。

ちなみに、4200番ポートはAngularのデフォルトのポートです。

netsh interface portproxy add v4tov4 listenport=4200 listenaddress=0.0.0.0 connectport=4200 connectaddress=172.25.208.1

iPhoneからWSLのサーバにアクセスする

モバイル端末からはホストマシンのIPにアクセスします。

http://192.168.10.106:4200

備考

ポートフォーワード設定を確認したかったり、削除したりしたい場合は次のコマンドを実行してください。

# 現在のポートフォワード設定を確認する
netsh interface portproxy show all

# 設定を削除する
netsh interface portproxy delete v4tov4 listenport=4200 listenaddress=0.0.0.0

自宅で動かなかった理由としては、Wifiのネットワーク分離機能が有効だったので、別端末からアクセスできないようになっていたからだと思われます。

基本は問題ないと思いますが、設定変更したことによって家の機器が接続できなくなったら困るので実施しませんでした。変にセキュリティを緩くする必要もありませんし。

終わりに

WSLはまだまだ難しいですね。ChatGPTも簡単に情報を提供してくれないので、困ったら頑張って解決する必要がありますね。

今後もWSLでハマったらブログに残していきたいです。

類似情報