|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
|
これは未公開の文書です Admission Controller 1.34-dev. |
GitHub Actionsとの統合
自動化
このセクションでは、GitHub Actionsを使用してタスクを自動化する方法について説明します。
プロジェクトのスキャフォールディングには、必要なすべてのGitHubアクションがすでに含まれています。
.github/workflows/test.yml`および.github/workflows/release.yml`ファイルにアクションがあります。
これらの原則を使用して、別のCIシステムに適応することができます。
リリース
プロジェクトのスキャフォールディングには、`.github/workflows/release.yml`内に`release`ジョブが含まれています。
このジョブは以下のステップを実行します:
-
コードのチェックアウト
-
WebAssemblyポリシーのビルド
-
ポリシーをOpen Container Initiative (OCI)レジストリにプッシュ
-
新しいGitHubリリースを作成
ジョブを有効にするには、oci-target`ファイルで呼び出される (`reusable-release-policy-go.yml) 再利用可能なワークフローの`release.yml`アクション入力を調整してください。
ジョブは、その実行をトリガーしたコミットに基づいて異なる動作をします。
定期的なコミットは、`<policy-name>:latest`というOCIアーティファクトの作成につながります。 これらのコミットに対してGitHubリリースは作成されません。
`v*`パターンに一致するタグを作成すると、次のことが起こります:
-
`<policy-name>:<tag>`というOCIアーティファクトの作成。
-
`Release <full tag name>`という名前のGitHubリリースの作成。 リリースには、アセット、ポリシーのソースコード、およびWebAssemblyバイナリが含まれます。
例
`safe-labels`という名前のポリシーがあり、それを`ghcr.io/kubewarden/policies/safe-labels`として公開する必要があると仮定します。
`jobs.push-to-oci-registry.env`の`ci.yml`セクションの内容は次のようになります:
jobs:
push-to-oci-registry:
runs-on: ubuntu-latest
env:
WASM_BINARY_NAME: policy.wasm
OCI_TARGET: ghcr.io/kubewarden/policies/safe-labels
`v0.1.0`という名前のタグをプッシュすると、`ghcr.io/kubewarden/policies/safe-labels:v0.1.0`というOCIアーティファクトの作成と公開が行われます。
`Release v0.1.0`という名前のGitHubリリースが作成されます。 リリースには、次のアセットが含まれます:
-
`zip`および`tar.gz`として圧縮されたソースコード
-
`policy.wasm`というファイル名のファイル。これは実際のWebAssemblyポリシーです。