Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

まず最初に、配布用の LANSA オブジェクトを構築するためには、別の LANSA インストールが必要になります。LANSA では、これをビルド・マシンと呼びますが、同じマシンに他の LANSA がインストールされていても構いません。主な要件は、このマシンが常に電源が入っていて、GitLab のソースコード・リポジトリに送信された変更がビルドできる状態になっていることです。

...

  1. 以前開発者用に行った際と同様の手順で、Visual LANSA をインストールしす。

...


  1. 自身のブランチに対して変更がコミットされた時に、ソースコード・リポジトリからソースコードが引き出せるように、GitLab Runner を設定します。このリポジトリは、LANSA のコンパイル済みオブジェクトをターゲット・システムに配布するために使用するリポジトリとは異なることに注意してください。

...


  1. ソースコード変更時に自動的にコンパイルされるように、Visual LANSA IDE を設定します。

...

  1. Image Added

...


  1. ソースコード・リポジトリのルート・ディレクトリに gitlab-ci.yml ファイルを作成します。配信用のリポジトリで使用しているものをベースにしても構いません。このファイルはソースコードであり、必要な処理は、Git リポジトリをプルすることだけなので、before_script  after_script は必要ありません。

...


  1. IDE を起動した状態にしておきます。ソースコード・リポジトリの origin に変更がプッシュされると、自動的に IDE にプルされます。

...


  1. テストのターゲット・システムを更新したい場合、ビルド・マシンの Visual LANSA IDE からボタンをクリックするだけで、手動で「アプリケーションの配布」を行うことができます。

監視されている Git リファレンスの変更

ターゲットシステム上のレジストリ設定  HKLM\Software\LANSA\APP1\ENG\GITREPOBRANCH は、GitLab Runner がどの Git リファレンスを監視するかを制御します。デフォルトでは、masterに設定されています。ブランチまたはタグを指定することができます。レジストリ設定は、ターゲット・システムの設定時に作成され、手動で変更することもできます。

master 以外のブランチを指定した場合は、自身の開発環境で .gitlab-ci.yml ファイルを修正する必要があります。このファイルはアプリケーションのその他の部分とともに配布されます。以下に示されるように、deploy_branch_job セクションと validate_branch_job セクションで、only の値と tags の値を監視したいブランチに変更します。

Panel
bgColor#D3D3D3

only:
    - master
tags:
    - master

を以下に変更します。

Panel
bgColor#D3D3D3

only:
    - your-branch
tags:
    - your-branch

タグを指定した場合は、さらに必要なステップがあり、ファイル .gitlab-ci.yml を修正する必要があります。以下のように、deploy_tag_job セクションと validate_tag_job セクションで、only の値と tags の値を監視したいタグに変更してください。

Panel
bgColor#D3D3D3

only:
    - test-tag
tags:
    - test-tag

を以下に変更します。

Panel
bgColor#D3D3D3

only:
    - your-tag
tags
    - your-tag

また、ターゲット・システムに GitLab Runner をインストールする場合、tags 属性に新しい値を追加する必要があります。この作業を行わないと、ジョブが stuck し、動かなくなってしまいます。

...

この場合、gitlab-ci.yml ファイルを編集し、 validate_test_job  deploy_test-tag_job という名前のジョブを削除します。また、Runner のインストールからも test-tag を削除します。

実稼働ターゲット・システムの導入

テストおよび実稼働システムの GitLab 設定 (単一のターゲット・インスタンス)」 には、実稼働のターゲット・システムがありません。そこに配布された Git リファレンスが mastertest-tagprod-tag、のいずれであっても、同じアプリケーション構成にインストールされます。これは単にデモンストレーションのためです。

...

実稼働のターゲット・システムへの配布は、Git リポジトリに直接適用されるアクションです。以下の例では、master ブランチに test-tag をタグ付けします。そして、これを origin にプッシュします。

Panel
bgColor#D3D3D3

git update-ref refs/tags/test-tag master
git push --tags --force

別のコミットにタグ付けするには、別のブランチやコミット自身の参照など、Git tree 的な参照を利用します。2 回目以降のタグ付けでは、すでにタグが存在していて、これが上書きされるので、強制的にプッシュが行われます。

...