タグ

ブックマーク / zenn.dev/snowcait (5)

  • Composite Action Template を作りました [GitHub Actions]

    テンプレートリポジトリ 作成した Composite action のテンプレートです。 概要 GitHub Actions でアクションを自作する際に作成できるアクションには3種類あります。 JavaScript (TypeScript) Docker container Composite JavaScript, TypeScript, Docker container にはそれぞれ公式のテンプレートがあるのですが、なぜか Composite だけありません。 action.yml に直接コードを書くのでテストやビルド、デプロイ等の周辺コードが不要という判断なのかもしれませんが、さっと作るときに action.yml に何を書けばよかったっけ?と調べるところから始めるのは不便です。 そこでマーケットプレースに公開するのに必要な項目を網羅した action.yml と LICENSE や

    Composite Action Template を作りました [GitHub Actions]
  • GitHub Actions で学ぶシェル芸

    GitHub Actions は run でシェルを実行していくのが基です。 シェルに詳しければサードパーティアクションを使わなくて済んだり[1]、複雑なロジックを組まずに済んだりするので、改めてシェルを学ぶきっかけにいいのではないかと思いました。 ネタ募集。 脚注 サードパーティアクションを使用するとセキュリティへの配慮が必要だったり、 Enterprise だと GitHub Connect の設定をしたり actions-sync したりしないといけなかったりするので意外と面倒です ↩︎

    GitHub Actions で学ぶシェル芸
  • GitHub Actions のベストプラクティス

    1 フロー 1 ワークフロー 一連のフローがある場合は 1 つのワークフローにまとめる。 トリガーしたイベントの JSON が使える needs での制御がしやすい 全体を追える グラフが表示される ファイルを分割したい ファイルを分割したい理由として以下が挙げられると思います。 行数が増えて読みづらい 処理を共通化したい 複合実行ステップアクション や workflow_run トリガー や Reusable workflow 🆕 を使うことになると思いますが、基的には一連のフロー制御はメインのファイルに書いてその下を Reusable workflow や複合実行ステップアクションで外部ファイルへ分離するのが良さそう。 workflow_run はログが分断するのでおすすめしません。

    GitHub Actions のベストプラクティス
  • GitHub Container registry が GA したので触ってみる

    GitHub Container registry とは GitHub Packages を構成する1つで Docker を始めとしたコンテナを扱えるレジストリです。 Docker registry (docker.pkg.github.com) から Container registry (ghcr.io) へ統合されました。 パブリックコンテナへの匿名アクセス コンテナの Organizational レベルの所有権 コンテナのきめ細かいパーミッション制御 有益な情報が豊富なコンテナ用ランディングページ コンテナの可視性はリポジトリの可視性から独立 Organizational におけるコンテナの内部的な可視性設定 GITHUB_TOKEN による Actions ワークフローからコンテナへのセキュアでシームレスなアクセス Container registry (ghcr.io) へパ

    GitHub Container registry が GA したので触ってみる
  • GitHub Actions のデバッグをローカルで行う

    概要 GitHub Actions で GitHub ホストランナーを使用する場合、パブリックポジトリは無料ですがプライベートリポジトリは従量課金(無料枠あり)です。 ワークフローを編集する際にデバッグしていると結構な時間を消費してしまいます。 そこでデバッグ時は GitHub ホストランナーを使わずに無料で実行する方法を 3 種類紹介します。 nektos/act 言わずと知れたローカル実行ツールです。 すべてを再現することはできませんがコミットを増やさずにデバッグができます。 注意点 ubuntu-* のみサポート ソフトウェアは指定する Docker イメージ依存、デフォルトのイメージだと色々足りないので -P で指定 secrets.GITHUB_TOKEN が未定義なので Personal Access Token を発行し設定が必要 サービスコンテナ services が使えな

    GitHub Actions のデバッグをローカルで行う
  • 1