3.8. OpenShift Pipelines namespace で提供されるコミュニティータスク
デフォルトでは、OpenShift Pipelines のインストールには、パイプラインで使用できる一連のコミュニティータスクが含まれています。これらのタスクは、OpenShift Pipelines インストール namespace (通常は openshift-pipelines namespace) にあります。
argocd-task-sync-and-wait
argocd-task-sync-and-wait コミュニティータスクは、Argo CD アプリケーションをデプロイし、正常になるまで待機します。
これを行うには、以下の設定が必要です。* argocd-env-configmap config map で設定された Argo CD サーバーのアドレス。* argocd-env-secret シークレットに設定された認証情報。
アドレス情報を含む config map の例
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-env-configmap
data:
ARGOCD_SERVER: https://argocd.example.com
# ...
認証情報を含むシークレットの例
apiVersion: v1
kind: Secret
metadata:
name: argocd-env-secret
data:
# Option 1
ARGOCD_USERNAME: example_username
ARGOCD_PASSWORD: example_password
# Option 2
ARGOCD_AUTH_TOKEN: exmaple_token
- 1
- ユーザー名とパスワード、または認証トークンのいずれかを設定します。
argocd-task-sync-and-wait コミュニティータスクの使用例
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: argocd-task-sync-and-wait
spec:
tasks:
- name: argocd-task-sync-and-wait
params:
- name: application-name
value: example_app_name
- name: revision
value: HEAD
- name: flags
value: '--'
- name: argocd-version
value: v2.2.2
taskRef:
kind: Task
name: argocd-task-sync-and-wait
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
|
| デプロイするアプリケーションの名前。 | |
|
| デプロイするリビジョン。 |
|
|
|
| |
|
| Argo CD のバージョン。 |
|
helm-upgrade-from-repo
helm-upgrade-from-repo コミュニティータスクは、指定された Helm リポジトリーとチャートに基づいて、OpenShift Container Platform クラスターに Helm チャートをインストールまたはアップグレードします。
helm-upgrade-from-repo コミュニティータスクの使用例
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: helm-upgrade-from-repo
spec:
tasks:
- name: helm-upgrade-from-repo
params:
- name: helm_repo
value: example_helm_repository
- name: chart_name
value: example_chart_name
- name: release_version
value: v1.0.0
- name: release_name
value: helm-release
- name: release_namespace
value: ''
- name: overwrite_values
value: ''
- name: helm_image
value: 'docker.io/lachlanevenson/k8s-helm@sha256:5c792f29950b388de24e7448d378881f68b3df73a7b30769a6aa861061fd08ae'
taskRef:
kind: Task
name: helm-upgrade-from-repo
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
|
| Helm リポジトリー。 | |
|
| デプロイする Helm チャート名。 | |
|
| セマンティックバージョン管理形式の Helm リリースバージョン。 |
|
|
| Helm リリース名。 |
|
|
| Helm リリースの namespace。 |
|
|
|
上書きする設定パラメーター (コンマ区切り)。例: |
|
|
| 使用する Helm イメージ。 |
|
helm-upgrade-from-source
helm-upgrade-from-source コミュニティータスクは、指定されたチャートとソースワークスペースに基づいて、OpenShift Container Platform クラスターに Helm チャートをインストールおよびアップグレードします。
helm-upgrade-from-source コミュニティータスクの使用例
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: helm-upgrade-from-source
spec:
tasks:
- name: helm-upgrade-from-source
params:
- name: charts_dir
value: example_directory_path
- name: release_version
value: v1.0.0
- name: release_name
value: helm-release
- name: release_namespace
value: ''
- name: overwrite_values
value: ''
- name: values_file
value: values.yaml
- name: helm_image
value: 'docker.io/lachlanevenson/k8s-helm@sha256:5c792f29950b388de24e7448d378881f68b3df73a7b30769a6aa861061fd08ae'
- name: upgrade_extra_params
value: ''
taskRef:
kind: Task
name: helm-upgrade-from-source
workspaces:
- name: source
workspace: shared-workspace
#...
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
|
| Helm チャートを含むソースワークスペース内のディレクトリー。 | |
|
| セマンティックバージョン管理形式の Helm リリースバージョン。 |
|
|
| Helm リリース名。 |
|
|
| Helm リリースの namespace。 |
|
|
|
上書きする設定パラメーター (コンマ区切り)。例: |
|
|
| Helm の設定パラメーターを含むファイル。 |
|
|
| 使用する Helm イメージ。 |
|
|
| Helm アップグレードコマンドに渡される追加のパラメーター。 |
|
| ワークスペース | 説明 |
|---|---|
|
| Helm チャートを含むワークスペース。 |
jib-maven
jib-maven コミュニティータスクは、Maven プロジェクト用の Jib ツールを使用して、Java、Kotlin、Groovy、および Scala ソースをコンテナーイメージにビルドします。
jib-maven コミュニティータスクの使用例
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: jib-maven
spec:
tasks:
- name: jib-maven
params:
- name: IMAGE
value: example_image
- name: MAVEN_IMAGE
value: 'registry.redhat.io/ubi9/openjdk-17@sha256:78613bdf887530100efb6ddf92d2a17f6176542740ed83e509cdc19ee7c072d6'
- name: DIRECTORY
value: .
- name: CACHE
value: empty-dir-volume
- name: INSECUREREGISTRY
value: 'false'
- name: CACERTFILE
value: service-ca.crt
taskRef:
kind: Task
name: jib-maven
workspaces:
- name: source
workspace: shared-workspace
#...
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
|
| ビルドするイメージの名前。 | |
|
| Maven ベースイメージ。 |
|
|
| ソースリポジトリーのルートを基準とした、アプリケーションを含むディレクトリー。 |
|
|
| Maven アーティファクトとベースイメージレイヤーをキャッシュするためのボリュームの名前。 |
|
|
| セキュアでないレジストリーを許可します。 |
|
|
| セキュアでないレジストリーサービスの認証局 (CA) バンドルファイル名。 |
|
| ワークスペース | 説明 |
|---|---|
|
| Maven プロジェクトが含まれるワークスペース。 |
|
| SSL 証明書が含まれるオプションのワークスペース。 |
| 結果 | 型 | 説明 |
|---|---|---|
|
|
| ビルドされたイメージのダイジェスト。 |
jib-maven コミュニティークラスタータスクからの変更
-
IMAGEおよびMAVEN_IMAGEパラメーターのデフォルト値が変更されました。
kubeconfig-creator
kubeconfig-creator コミュニティータスクは、パイプライン内の他のタスクがさまざまなクラスターにアクセスするために使用できる kubeconfig ファイルを作成します。
kubeconfig-creator コミュニティータスクの使用例
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: kubeconfig-creator
spec:
tasks:
- name: kubeconfig-creator
params:
- name: name
value: example_cluster
- name: url
value: https://cluster.example.com
- name: username
value: example_username
- name: password
value: example_password
- name: cadata
value: ''
- name: clientKeyData
value: ''
- name: clientCertificateData
value: ''
- name: namespace
value: ''
- name: token
value: ''
- name: insecure
value: 'false'
taskRef:
kind: Task
name: kubeconfig-creator
workspaces:
- name: output
workspace: shared-workspace
#...
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
|
| アクセスするクラスターの名前。 | |
|
| アクセスするクラスターのアドレス。 | |
|
| クラスターへの Basic 認証用のユーザー名。 | |
|
| クラスターへの Basic 認証用のパスワード。 |
|
|
| PEM でエンコードされた認証局 (CA) 証明書。 |
|
|
| TLS のクライアントキーファイルからの PEM エンコードされたデータ。 |
|
|
| TLS のクライアント証明書ファイルからの PEM エンコードされたデータ。 |
|
|
| 未指定のリクエストで使用するデフォルトの namespace。 |
|
|
| クラスターへの認証用のベアラートークン。 |
|
|
| TLS 証明書を検証せずにサーバーにアクセスするかどうかを示します。 |
|
| ワークスペース | 説明 |
|---|---|
|
|
|
pull-request
pull-request コミュニティータスクを使用すると、抽象化されたインターフェイスを通じてソースコントロール管理 (SCM) システムと対話できます。
このコミュニティータスクは、パブリック SCM インスタンスと、self-hosted またはエンタープライズ GitHub または GitLab インスタンスの両方で機能します。
ダウンロードモードでは、このタスクは、.MANIFEST ファイルを含む既存のプルリクエストの状態を pr ワークスペースに入力します。
アップロードモードでは、このタスクは .MANIFEST ファイルを含む pr ワークスペースの内容をプルリクエストの内容と比較し、内容が異なる場合は、pr ワークスペースと一致するようにプルリクエストを更新します。
pull-request コミュニティータスクの使用例
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: pull-request
spec:
spec:
tasks:
- name: pull-request
params:
- name: mode
value: upload
- name: url
value: https://github.com/example/pull/xxxxx
- name: provider
value: github
- name: secret-key-ref
value: example_secret
- name: insecure-skip-tls-verify
value: 'false'
taskRef:
kind: Task
name: pull-request
workspaces:
- name: pr
workspace: shared-workspace
#...
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
|
|
| |
|
| プルリクエストの URL。 | |
|
|
SCM システムのタイプ。サポートされる値は | |
|
|
base64 でエンコードされた SCM トークンを含む | |
|
|
|
|
| ワークスペース | 説明 |
|---|---|
|
| プルリクエストの状態が含まれるワークスペース。 |
trigger-jenkins-job
curl リクエストを使用して Jenkins ジョブをトリガーするには、trigger-jenkins-job コミュニティータスクを使用できます。
trigger-jenkins-job コミュニティータスクの使用例
apiVersion: tekton.dev/v1
kind: Pipeline
metadata:
name: trigger-jenkins-job
spec:
tasks:
- name: trigger-jenkins-job
params:
- name: JENKINS_HOST_URL
value: example_host_URL
- name: JOB_NAME
value: example_job_name
- name: JENKINS_SECRETS
value: jenkins-credentials
- name: JOB_PARAMS
value:
- example_param
taskRef:
kind: Task
name: trigger-jenkins-job
workspaces:
- name: source
workspace: shared-workspace
# ...
| パラメーター | 説明 | デフォルト値 |
|---|---|---|
|
| Jenkins が実行されているサーバー URL。 | |
|
| トリガーする必要がある Jenkins ジョブ。 | |
|
| 認証情報を含む Jenkins シークレット。 |
|
|
|
|
|
| ワークスペース | 説明 |
|---|---|
|
|
|