Hatのさいとうです。Calendarの12月4日のエントリです。TowerのアップストリームプロジェクトであるAWXにコードをコントリビュートする方法について、開発環境の構築、アップストリームプロジェクトのfork、開発用コンテナのビルド、コードの修正とテストの一連の流れを紹介します。Install)の上に開発環境を準備していきます。開発環境に必要なパッケージ群をインストールしましょう。※AWXの開発環境では、docker-composeを利用してdockerコンテナとしてAWXサービスをビルド・起動させます。moby-engineを開発環境として利用しています)。docker今回は、あくまでも外部から隔絶されたローカルな開発環境を構築するのを目的としているため、利便性を優先して、以下の設定を実施しておきます。して、dockerグループに開発に利用しているユーザIDを所属させるなどの適切な設定を行ってください。/var/run/docker.sock続いて、AWXのダッシュボードをビルドするために必要なNodeJS(13.x)をインストールします。nodejs最後に、AWXコンテナのビルドに必要なdocker-composeをインストールします。--userUpstreamからAWXリポジトリをforkしてクローンするUpstreamのAWXプロジェクトのリポジトリを、みなさんのGithubアカウントでforkします。git@github.com:<みなさんのアカウント>/awx.gitつぎに、Upstreamのリポジトリをリモートリポジトリとして登録します(ここではupstreamという名前で登録しています)。merge)させておきます。※このあたりのGitオペレーションは、みなさんの流儀にあわせて行ってください。upstream/develこれで、ソースコードの準備もおわりました。Requestを行うために、トピックブランチを切って作業します。いうトピックブランチを切るようにしています。guideにしたがって進めます。以降の作業で注意しなければならないのは、開発環境上(ここでは[host])で実施する作業と、その環境上に起動させた開発用のコンテナ上(ここでは[container])で作業する必要がある点です。コピーしますサンプルから変更する箇所は特にありません。そのままコピーして利用しましょう。設定してやる必要があります。ビルドには、それなりに時間がかかります。ビールでも飲みつつまちましょう。docker-compose-buildビルドが完了すると、以下のようなイメージ群が開発環境に存在しているはずです。UIをビルドします公式のドキュメントにしたがうと、多国語対応していない状態(英語のみ)でAWXのダッシュボードが起動してきます。日本語のUIの不具合は、われわれが修正するしかないですよね?そこで、多国語対応した状態でUIをビルドします。ui-develAWXのダッシュボードのフロントエンド(JavaScript)部分に手を加えた場合は、上記の作業を修正の都度実施する必要があります。AWXコンテナを起動します以下のコマンドで開発用のコンテナが起動してきます。docker-composeコンテナの初期化と起動には、それなりの時間がかかります。DBのマイグレーション処理など、一連の初期化処理が完了すると、HTTPSで開発環境のPort:8043にアクセスすることで、AWXのダッシュボードにログインできます。Login以降、ターミナルはAWXコンテナからの出力用に保持して、別のターミナルから開発環境にSSHして以降の作業を進めます。仕上げとして初期データを投入するまずはAWXの管理者(awx)ユーザを作成します。作業後は、このawxアカウントでダッシュボードにログインすることができるようになります。Templateを作成して終了です。exit実際にブラウザからawxユーザでログインしてみてください。Dashboard次回は、実際にコードに変更を加えてテストする手順について紹介する予定です。今日はもう帰るとするかな。(2)めりーくりすます。Hatのさいとうです。HatでOpenShiftのサポートをしているid:nekopです。各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。