GNU/Linux >> Linux の 問題 >  >> Ubuntu

ベアメタルクラウドGitHubアクション

はじめに

GitHub Actionsは、組み込みのCI/CDツールを使用したソフトウェア開発ワークフローの自動化のためのプラットフォームです。このプラットフォームは使いやすく、サードパーティのアプリや事前の専門知識、およびメンテナンスの専任者を必要としません。

PhoenixNAPベアメタルクラウドGitHubアクションは、gitリポジトリ内のGitHubイベントに反応する自動タスクランナーとして機能します。別のサーバーを起動しなくても、GitHubから直接目的のCI/CD機能を実現できます。

前提条件

  • GitHubアカウント
  • ベアメタルクラウド(BMC)またはphoenixNAPクライアントポータル(PNCP)アカウント。新規クライアントの場合は、ベアメタルクラウドのアカウントを作成してください。支援については、BMCアカウント作成のビデオ手順を参照してください。

BMC GitHub Actionとは何ですか?

ベアメタルクラウドGitHubアクションは、対応する action.yamlによって定義されます。 ファイル。各BMCアクションリポジトリには専用のaction.yamlがあります create-server-bmc など、その特定のアクション用に作成されたコードを含むファイル 。

yamlファイルは、アクションの実行方法を記述し、メインのJavaScriptファイル(この場合は index.js )を定義します。 、および関数のメタデータ。これらのJavaScriptベースのBMCアクションを組み合わせてワークフローに組み込むことで、目的のレベルの自動化を実現できます。

BMCGitHubクレデンシャル

GitHubリポジトリは、完全に暗号化されたシークレット環境変数をサポートしています。次に、 clientidを参照します およびclientsecret ワークフローyamlファイル内。 BMCアクションは、リポジトリに追加した場合にのみシークレットにアクセスできます。

リポジトリまたは組織にクレデンシャルを追加すると、アクションを実行したときに値が表示されなくなります。

BMCを取得するにはClient ID およびClient Secret 、Bare Metal Cloudポータルにログインして:

1.APIクレデンシャルに移動します ページ。

2.資格情報の作成をクリックします ボタン。

3.クレデンシャル名を追加します およびそれぞれのフィールドのオプションの説明。

4.権限スコープを割り当てます 。資格情報に付与するアクセス許可レベルの横にあるチェックボックスをオンにします。すべてのBMCAPI呼び出しまたは読み取り専用のBMCAPI呼び出しの使用を許可するかどうかを選択します。

5.作成をクリックします 準備ができたら。

6.Client ID を取得します およびClient Secret 確認ウィンドウで。

7.クレデンシャルをコピーして、GitHubリポジトリにシークレットとして追加します。 [設定]->[シークレット]に移動します 新しいシークレットを追加をクリックします 。

PhoenixNAPBMCGitHubアクションリポジトリ

現在、BMCGitHubアクションリポジトリには3つのアクションが含まれています。

  • 新しいベアメタルクラウドサーバーを作成する
  • ベアメタルクラウドサーバーを削除する
  • 基本的なベアメタルクラウドサーバー情報を取得する

BMCアクションを他のアクションと組み合わせて、カスタムジョブとワークフローを作成できます。

新しいBMCサーバーGitHubアクションを作成する

create-server-bmc GitHubアクションを使用すると、サーバーの作成プロセスを自動化できます。ソフトウェアテストアプリケーションをインストールし、新しいBMCサーバーを自動的に起動するためにより多くのリソースが必要な場合にワークフローを作成できます。

このアクションは、新しいサーバーIDとパブリックIPアドレスをコンマ区切りの値を持つリストに出力します。アクションは同期的です。ただし、サーバーの作成と起動プロセスは非同期です。

必要な入力

すべてのGitHubアクションには必須の要素があります。サーバーの作成アクションには、次のものが含まれている必要があります。

  • clientid :アプリケーションOAuth2クレデンシャルからのクライアントID。
  • clientsecret :アプリケーションOAuth2クレデンシャルからのクライアントシークレット。
  • hostname :サーバーのホスト名。名前は次のパターンに従う必要があります:1≤長さ≤100一致^(?=.*[a-zA-Z])([a-zA-Z0-9().-])+$

オプションの入力

create-server-bmcのオプションの入力 GitHubアクションは次のとおりです:

  • image :サーバーのOSID。デフォルトはubuntu/bionic
  • type :サーバータイプID。デフォルトはs1.c1.small
  • location :サーバーロケーションID。 場所を変更することはできません サーバーが作成されたら。このフィールドはPHXまたはASHに設定できます。デフォルト値はPHX
  • bmcentrypoint :BMCAPIエントリポイント。デフォルトはhttps://api.phoenixnap.com/bmc/v1/
  • bmctokenhost :BMCOIDCトークンホスト。デフォルトはhttps://auth.phoenixnap.com
  • bmctokenpath :BMCOIDCトークンパス。デフォルトは/auth/realms/BMC/protocol/openid-connect/token

出力

create-server-bmc アクションには次の出力があります:

  • id :新しいBMCサーバーID。
  • ipaddresses :新しいサーバーに接続されているパブリックIPアドレスのコンマ区切りのリスト。

BMCサーバーアクションの作成の使用例

以下は、サーバーの作成アクションの例です。

- name: CreateBMCServer step
  uses: phoenixnap-github-actions/create-server-bmc 
  id: createserver
  with:
    clientid: ${{secrets.BMC_CLIENT_ID}}
    clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
    hostname: "bmc-gha-test"
    image: "ubuntu/bionic"
    location: "ASH"
    type: "s1.c1.small"
    description: "This server is created using GitHub Actions."

BMCサーバー情報のGitHubアクションを取得する

get-server-bmc アクションは、ベアメタルクラウドサーバーに関する基本情報を取得します。この同期アクションは、BMCサーバーの作成アクション中に提供された詳細のほとんどを取得します。

必要な入力

get-server-bmcに必要な入力 アクションは次のとおりです:

  • clientid :アプリケーションOAuth2クレデンシャルからのクライアントID。
  • clientsecret :アプリケーションOAuth2クレデンシャルからのクライアントシークレット。
  • serverid :情報を取得するサーバーのID。 IDは、サーバーの作成手順で作成されます。

オプションの入力

これらは、 get-server-bmcのオプションの入力です。 GitHubアクション:

  • bmcentrypoint :BMCAPIエントリポイント。デフォルトはhttps://api.phoenixnap.com/bmc/v1/
  • bmctokenhost :BMCOIDCトークンホスト。デフォルトはhttps://auth.phoenixnap.com
  • bmctokenpath :BMCOIDCトークンパス。デフォルトは/auth/realms/BMC/protocol/openid-connect/token

出力

create-server-bmc アクションはこの出力を提供します:

  • id :BMCサーバーID。
  • status :サーバーの動作ステータス。
  • hostname :サーバーのホスト名。
  • ipaddresses :サーバーに接続されているパブリックIPアドレスのコンマ区切りのリスト。

BMCサーバーアクションの作成の使用例

以下は、サーバーの作成アクションの使用例です。

- name: GetServer step
  uses: phoenixnap-github-actions/get-server-bmc  
  id: getserver
  with:
    clientid: ${{secrets.BMC_CLIENT_ID}}
    clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
    serverid: ${{ steps.createserver.outputs.id }}

BMCサーバーのGitHubアクションを削除する

delete-server-bmc GitHubアクションは、ベアメタルクラウドサーバーを削除します。アクションは同期的ですが、削除とクリーンアップは非同期的です。

警告: 削除アクションは元に戻せず、データが失われる可能性があるため、細心の注意を払って使用してください。

必要な入力

delete-server-bmcに必要な入力 アクションは次のとおりです:

  • clientid :アプリケーションOAuth2クレデンシャルからのクライアントID。
  • clientsecret :アプリケーションOAuth2クレデンシャルからのクライアントシークレット。
  • serverid :削除するサーバーのID。 IDは、サーバーの作成手順で作成されます。

オプションの入力

これらは、 delete-server-bmcのオプションの入力です。 GitHubアクション:

  • bmcentrypoint :BMCAPIエントリポイント。デフォルトはhttps://api.phoenixnap.com/bmc/v1/
  • bmctokenhost :BMCOIDCトークンホスト。デフォルトはhttps://auth.phoenixnap.com
  • bmctokenpath :BMCOIDCトークンパス。デフォルトは/auth/realms/BMC/protocol/openid-connect/token

出力

delete-server-bmc アクションはこの出力を提供します:

  • id :削除されたBMCサーバーのID。

BMCサーバーの削除アクションの使用例

以下は、サーバーの作成アクションの使用例です。

- name: DeleteServer step
  uses: phoenixnap-github-actions/delete-server-bmc 
  id: deleteserver
  with:
    clientid: ${{secrets.BMC_CLIENT_ID}}
    clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
    serverid: ${{ steps.createserver.outputs.id }}

Ubuntu
  1. E2EのMyAccountFAQ

  2. DropboxまたはクラウドのVirtualboxのUbuntu?

  3. Lubuntu 18.10 Lxqt電源ボタンのアクション?

  1. ベアメタル上にLinuxクラウドをセットアップする

  2. ベアメタルサーバーにKubernetesをインストールする方法

  3. ベアメタル Linux インストールを仮想マシンに移行する方法

  1. ベアメタルクラウドとは

  2. ベアメタルクラウドへのSparkクラスターの自動デプロイ

  3. ベアメタルクラウドリモートアクセスVPNを設定する方法