ワークフロークラスターでアーティファクトを設定して、ワークフローのステップにパラメータを渡すことができます。 ステップの出力は、別のステップの入力である。 これにより、複雑なワークフローステップを調整できます。 このトピックでは、オブジェクトストレージサービス (OSS) をアーティファクトストレージとして使用して、ワークフローのステップをパラメータに渡す方法について説明します。
前提条件
OSSが有効化されています。 詳細については、「OSSの有効化」をご参照ください。
手順
OSSをアーティファクトストレージとして設定します。 詳細については、「Alibaba Cloud OSSの設定」をご参照ください。
artifect-passing.yamlという名前のファイルを作成し、次の内容をファイルに追加します。
apiVersion: argoproj.io/v1alpha 1 kind: ワークフロー メタデータ: generateName: artifact-passing- spec: entrypoint: アーティファクト-例 templates: -name: artifact-例 steps: -name: generate-artifact テンプレート: whalesay -name: consume-artifact テンプレート: print-message 引数: アーティファクト: # hello-artアーティファクトにメッセージをバインドします。 # generate-artifactステップによって生成されます。 - name: message from: "{{steps.generate-artifact.outputs.artifacts.hello-art}}" - name: whalesay container: 画像: docker/whalesay:latest コマンド: [sh, -c] args: ["cowsay hello world | tee /tmp/hello_world.txt"] outputs: アーティファクト: # /tmp/hello_world.txtからhello-artアーティファクトを生成します。 # アーティファクトは、ファイルだけでなくディレクトリにもなります。 -name: hello-art パス: /tmp/hello_world.txt -name: プリントメッセージ 入力: アーティファクト: # メッセージ入力アーティファクトを解凍します。 # そしてそれを /tmp/messageに置きます。 - name: message パス: /tmp/message container: 画像: アルパイン: 最新 コマンド: [sh, -c] args: ["cat /tmp/message"]次のコマンドを実行して、ワークフローを送信します。
argo submit artifact-passing.yaml次のコマンドを実行して、ワークフローのステータスを照会します。
アルゴリスト