IBM Cloud チュートリアル

Tektonパイプラインを使ったツールチェーンテンプレート

記事をシェアする:

この投稿は、2020年7月14日に、米国 Cloud Blog(英語) に掲載されたブログの抄訳です。

新しい IBM Cloud DevOps ツールチェーンテンプレートから、Tekton パイプラインを自動的に設定して使用し、アプリケーションの構築、テスト、デプロイを行う方法をご紹介します。

IBM® Cloud Continuous Delivery(英語)には、アプリケーションの構築とデプロイを自動化するオープンなツールチェーンが含まれています。ツールチェーン・テンプレートには、開発、デプロイ、運用タスクをサポートするツール統合の特定のセットが含まれています。

このブログ記事では、新しいテンプレートから、Tekton パイプラインを使用してアプリケーションを Kubernetes(英語) クラスターにデプロイするツールチェーンを作成します。

Tektonについて

Tekton pipelinesは、Kubernetesクラスタ(英語)内で継続的インテグレーション(英語)や継続的デリバリーのパイプラインを設定して実行するためのオープンソースプロジェクト(IBM外のWebサイトへ)です。Tekton pipelines は yaml ファイルで定義されており、通常は Git リポジトリに保存されます。

前提条件

ツールチェーンの作成

  • ツールチェーンのデフォルト設定を確認します。
    • ツールチェーン名:お好きな名前を選んでください。
    • 地域:地域を選択します。ダラスのリージョンが選択されていることを確認します(IBM Managed Public Workers の恩恵を受けるには)。注:現在のところ、パブリック・ワーカーはダラスのリージョンでのみ利用可能です。他のリージョンでツールチェーンを作成する場合は、独自のプライベート・ワーカーを設定して追加する必要があります。
    • リソースグループ:デフォルトのリソースグループのままにしてください。
  • Git RepoとIssue Trackingの設定を確認します。各ツールチェーンにはサンプルアプリが付属していますが、別のレポを選択して使用することもできます。コード変更のデプロイメントを追跡するオプションについては、こちらのブログ(英語)を読んでください。
  • Delivery Pipelineタブをクリックします。これらのフィールドが表示されます。
    • App name: アプリケーションの名前を入力します。必要であれば、デフォルト値を使用することもできます。
    • IBM Cloud API Key:IBM Cloud API Key(IBM クラウド API キー)を入力します。フィールドの横にある [New] ボタンをクリックし、表示されるダイアログ・ボックスで [OK] を選択して、新しい一意の API Key を作成します。
    • コンテナ・レジストリ・リージョン:コンテナ イメージを作成するリージョンを選択します。デフォルトの設定では、同じレジストリ・リージョンとクラスタ・リージョンを使用します。
    • コンテナ・レジストリ・ネームスペース:このネームスペースは、リージョン内のグローバル・イメージ・レジストリ内のフォルダで、イメージのセットを管理するために使用されます。ネームスペースを入力するか選択します。
    • クラスタ・リージョン:ターゲット・クラスタのリージョンを選択します。ターゲット・クラスタのリージョンを選択します。このリージョンは、チュートリアルの開始時に作成したKubernetesクラスタのリージョン、または共有アカウントのクラスタです。
    • リソース・グループ: リソース・グループを選択します。デリバリー・パイプラインのリソース・グループを選択します。リソース・グループの詳細については、“リソース・グループでリソースを整理するためのベストプラクティス” を参照してください。
    • クラスター名:クラスター名を選択します。チュートリアルの開始時に作成したKubernetesクラスタの名前、または共有アカウントのクラスタを選択します。
    • クラスタの名前空間:クラスタ内で明示的な名前空間を使用して、配備されたリソースを分離します。同じ Kubernetes クラスタ内のデプロイメントを隔離するには、別個の名前空間を使用します。この設定はデフォルトの prod 値のままにしておくことができます。
  • 注: 新しいパイプライン タイプ セレクタにより、「Classic」から「Tekton」パイプラインへの切り替えが可能になりました。

  • 作成をクリックします。しばらくすると、新しいツールチェーンの概要ページが開きます。

テクトンパイプラインのダッシュボード

  • デリバリー・パイプライン・カードをクリックすると、Tektonのパイプライン・ダッシュボードが表示されます。

  • 左側のメニューにあるオプションの以下の定義を参照してください。
    • 定義を参照してください:ここでは、リポジトリに保存されている異なるTektonリソースを参照します(関連するブランチ/タグとパスも参照します)。
    • Worker: ここでは、Tektonのパイプラインを実行するための作業者を指定します。TektonパイプラインはWorkerによって実行されます。IBM Managed Workerが選択されていることを確認してください。プライベート・ワーカーでパイプラインを実行したい場合で、まだツールチェーンに追加していない場合は、こちらをクリックしてください。

    • トリガー:ここでは、指定したイベントが発生したときに何が起こるかを指定します。
    • 環境プロパティ:パイプラインで使用するための名前と値のペアを保存します。
  • 各セクションの詳細については、ドキュメントを参照してください。

Tektonリソースの定義

IBM Cloud Continuous Delivery for Tekton のサポートでは、パイプラインを定義するために Kubernetes に Custom Resources 拡張機能のセットを提供しています。

  • パイプラインの定義セクションをクリックします。各エントリは、このパイプラインで使用されるTektonリソースをホストするリポジトリ、ブランチ、およびパスにリンクしています。

  • simple-helm-toolchainのリンクをクリックしてGithubリポジトリを開きます。デュアルテンプレートブランチに切り替えます。
  • .pipelineディレクトリに移動し、pipeline.yamlファイルを開き、このパイプラインを構成する様々なタスクのセットを探索します。
  • 他のリポジトリを探索するか、次のステップへジャンプして、最初の変更をコミットします。

コード、コミット、デプロイ

  • メインのToolchainページに戻り、Orion Web IDEタイルをクリックします。

  • hello-helmプロジェクトに移動し、app.jsを編集します。

  • 28行目で、アプリのウェルカムメッセージを「IBM Cloud DevOps in action! 」に修正します。

  • 左側のGitアイコンをクリックします。

  • コメントを追加して、右のコミットボタンをクリックして変更をコミットします。

  • 変更内容を Git リポジトリにプッシュします。

  • ツールチェーンに戻り、デリバリーパイプラインをクリックします。コミットによってパイプラインがトリガーされていることを確認します。
  • PipelineRun をクリックして、パイプラインのタスクとステップの実行の詳細を表示します。

  • 様々なステップのログを調べます。
  • deploy-to-kubernetesタスクをクリックし、ステップの実行をクリックします。
  • ログの一番下までスクロールして、セクションを探します。

  • アプリケーションのURLをコピーして新しいタブに貼り付け、変更がデプロイされたことを確認します。

概要

おめでとうございます。Helmチャートを使用して、Tektonパイプラインを使用してKubernetesクラスタ内のセキュアコンテナにアプリをデプロイするツールチェーンを作成しました。アプリを更新し、更新内容をGitレポにプッシュしました。配信パイプラインがアプリをデプロイした後、更新を検証しました。

さらに先に進む

以下の手順で、手動トリガーをTektonパイプラインに追加します。

  • Triggersセクションを選択し、Add triggerボタンをクリックし、Manualを選択します。

  • デフォルトのままで、トリガーのプロパティを追加します。
    • リポジトリ:デプロイするコードをホストしているリポジトリのURL。
    • ブランチ:コードを取得するブランチ。
  • 変更を保存します。

  • PipelineRuns ダッシュボードに戻り、Run Pipelineボタンをクリックして手動で実行します。

  • 新しいビルドが開始されたことを確認します。

その他のリソース

問題の報告、ヘルプを探す

IBM Cloud の開発チームから直接、Slack に参加して迅速にサポートを受けることができます。


翻訳:IBM Cloud Blog Japan 編集部

More IBM Cloud チュートリアル stories

セキュリティー・ロードマップ

IBM Cloud Blog

統合脅威管理、耐量子暗号化、半導体イノベーションにより、分散されているマルチクラウド環境が保護されます。 2023 安全な基盤モデルを活用した統合脅威管理により、価値の高い資産を保護 2023年には、統合された脅威管理と ...続きを読む


量子ロードマップ

IBM Cloud Blog

コンピューティングの未来はクォンタム・セントリックです。 2023 量子コンピューティングの並列化を導入 2023年は、Qiskit Runtimeに並列化を導入し、量子ワークフローの速度が向上する年になります。 お客様 ...続きを読む


ハイブリッドクラウド・ロードマップ

IBM Cloud Blog

コンポーザブルなアプリケーション、サービス、インフラストラクチャーにより、企業は複数のクラウドにまたがるダイナミックで信頼性の高い仮想コンピューティング環境の作成が可能になり、開発と運用をシンプルに行えるようになります。 ...続きを読む