podman + act で Github Actionsをデバッグする
ライブラリのCIが無料でできそうだったので、
Github Actionsをセットアップしてみました。
でも、デバッグが面倒...
ローカルでやるには act
というソフトが必要になります。
セットアップが大変そう...というか、結構手間取ったので
構築手順をメモしていきます。
dockerいれるの面倒なのでpodmanってどうなんだろ?
という感じでpodmanでやってみましたが、
それのせいでも更に困った状況にはなりました。
- podmanをWSL(debian)から使ってactを動かすのはうまくいきました。
- act + docker in podman は私は失敗しました。動くようにできるとは思います。
- podman desktopや、docker desktopはWindowsのアプリ入れたくなかったので試してません。
- docker-ceをWSLで動かすのも試してません。
act使うのにgo入れたりして環境を変更するのが嫌かな、
と思ってpodmanにdocker立ち上げようとしたのが
うまくいかずに時間取られました。
まずはpodmanの準備をします。
actはdocker APIを(多分)使うので
socketを作成しておきます。
(WSL-debian) $ sudo apt install podman $ podman system service /tmp/podman.sock $ export DOCKER_HOST=unix:///tmp/podman.sock
余談ですが、
podmanはデーモンレスなのでsocketがないことに
気づくのにも時間がかかりました。
色々違うんだなぁ...
あと、daemonないのは便利そうだ...
次にgoを準備します。
actは1.20以上で動作しているとのこと。
debianのgolangパッケージは1.19なので
今回は直接インストールします。
(WSL-debian) $ wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz $ tar xvf go1.22.4.linux-amd64.tar.gz -C /usr/local $ export PATH=$PATH:/usr/local/go/bin
actを準備して実行します。
$ git clone https://github.com/nektos/act.git act $ cd act $ make install
これでpodman + actで .github/workflows/jobs.yml
が
デバッグできるようになりました。
ポイントは podman
の socketを作成するのとDOCKER_HOST
の設定になると思います。
Github Pagesのデバッグはできないみたい?act
についてよくわかってませんが
まずはここまで。
コメント
Comments powered by Disqus