GitHubアクションを使用して開いたEDX展開を自動化する方法



導入

オープンedxは何ですか?
オープンEDXは、オンラインコースを作成し、ホストするために使用できるオープンソースのプラットフォームです.もともとは、MITとハーバード大学で2012年に開発されて以来、すべての形とサイズの組織によって採用されているオンライン学習ユースケースの広い範囲に電力を供給する.
これは、マイクロソフト、IBM、MIT、およびASASのような組織や大学で使用されている.

どうやってオープンedxでデフォルトで展開を処理するのですか?
我々は、プラットフォームを提供し、維持するためにansibleを使用します.あなたがansibleに慣れていないならば、それはソフトウェア供給と構成を自動化するオープンソースdevopsツールです.ブロックは以下の通りです:
  • 1または複数の役割を持っている-わかりやすい脚本.あなたのソフトウェアをインストールする方法についての完全な指示としてPlaybookをイメージングしてください、そして、それは構成要素です、そして、どのように彼らはきちんと動くようにセットしましたか.
  • 不可解な役割.スタック内の各コンポーネントには独自のロールがあります.たとえば、あなたのアプリケーションでdjango、nginxとmysqlを使用している場合、それらのそれぞれが独自の役割を持っています.

  • 変数.それぞれのロールには独自の変数があります.たとえば、MySQLロールのルートユーザー名とパスワードを定義する変数を提供する必要があります.

  • 変数を変更するワークフローは何ですか?
    我々は、Githubレポで私たちの脚本、役割とその変数があります.変数は2つの異なるファイルに分割されます vars.yml and passwords.yml . パスワードファイルは、可用性のVaultを使用して暗号化されます.
    変数を変更し、オープンedxサーバに配備するには、次のようにします.
    1 -ローカルのMachoneで開いているEDX変数を持っているgithubレポを引いてください
    2 - 1つまたは複数の変数を変更
    3 -戻ってgithubレポに変更を押してください
    4 -操作可能なノードから新しい変数をサーバーに配備します.ここでは、新しいパスvars.yml and passwords.yml わかりやすい脚本コマンドには、次のようにします.
    ansible-playbook /edx/app/edx_ansible/edx_ansible/playbooks/openedx_native.yml --vault-password-file ~/.ansible_vault_pass.txt -i ./ansible-configs/inventory -e@./edx-configs/vars.yml -e@./edx-configs/passwords.yml
    


    マイワークフロー

    どのようにgithubアクションを手動での展開を自動化することができます
    問題
    ステップ3と4は物事が複雑になることです.前の図でわかるように、これらのステップはマニュアルです、そして、あなたが同じサーバーに、あるいは、サーバーのクラスタにさえ複数の展開をする必要があるならば、それは本当に時間がかかり、退屈になることができます.
    解決策
    理想的な解決策は、我々がGithubレポに新しい変更を押すとすぐに、我々のサーバーまたはサーバーへの新しい配備を引き起こすことになっています.Githubアクションは私たちのためにそれを行うことができます.ワークフローを作成できます
  • 仕事のレポをチェックする
  • 使用actions/[email protected] アクション
  • 配備のためにansibleなおよび必要なすべてのライブラリをインストールする
  • オープンEDX SSHキーをインストールし、既知のホストとしてキーを追加します
  • 使用shimataro/[email protected] アクション
  • 新しい変数を
  • 変更を適用するために、オープンedx内のすべてのサービスを再起動します


  • どのように動作するか見てみましょう
    の中の変数の一つvars.yml ファイルは EDXAPP_PLATFORM_NAME そして、我々はフッターのような複数の場所のテンプレートの値を使用します.

    今、それは価値を変更しましょうCubite Technologies 変更をコミットします.この新しい値をサーバーに配備するには、Githubアクションをトリガーする必要があります.

    提出カテゴリ
  • メンテーナは必要である
  • DIY展開

  • YAMLファイルまたはコードへのリンク

    cubitetech / openedx-actions-demo
    どのように我々はGithubアクションを使用して開いてEDX展開を自動化することができます

    追加情報
    オープンEDXチェックについてtheir website