コードベースをいつでもリリース可能な状態に保ち、環境移行も自動化するCI/CDのプラクティス。実はOutSystemsでも準備が進んでいます。
ここでは、
- 現時点(2020/04/18)のOutSystemsにおけるCI/CDをかんたんに整理
- OutSystemsのCI/CD関係公式資料へのリンクを整理
してみます。
なお、パイプラインを構築するにはLifeTime APIが必要です。したがってPersonal Environmentではテストできません(CIまでであれば別)。
OutSystemsにおけるCI/CD
2019年のNextStepのCI/CD関係のセッションで使われたスライドがSlide Shareにありました。この9ページ目が全体像をよく表しています。
全体的な流れは以下の通り。
- 開発者が開発が終わったアプリケーションにLifeTimeでタグを付ける
- Trigger Pipeline(Forgeコンポーネント。LifeTime Pluginです)が自動化サーバーにCDパイプラインをリクエスト
- パイプラインは、まずアプリケーションを開発環境から退行(Regression)環境へ自動移行
- パイプラインは、退行環境にあるCI/CD Probe(Forgeコンポーネント)にリクエストし、BDD Framework(Forgeコンポーネント。ユニットテスト用です)のテストスイートをリストアップして実行する(回帰テスト)
- 回帰テストをパスしたら受け入れテスト環境へ自動移行。受け入れテストをパスすると、権限のあるユーザーがパイプラインから本番リリース用ボタンをクリックして移行
なお、この流れでは、OutSystems環境が5環境あることを想定されています。ただし、5環境は必須ではないです。自分でパイプラインを修正して自分の環境に合わせて使ってください
公式資料へのリンク集
ちょっと古い(2018年)ですが、OutSystemsのメニューから行けるTechTalkでのCI/CDセッション。CIやCDがどういったものかという説明から、5環境それぞれの説明、CI/CDの導入パターン(どこまで自動化するか)、CD実行デモなどが含まれます。
Automated Testing for Businesses integrated with Low-Code Environment – NextStep2019
Next Step 2019のセッション。CIに必要となるテスト自動化の戦略等を説明。
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power of Jenkins and Azure
Next Step 2019のセッション。上で引用したスライドに対応する動画です。現時点の全体像が一番わかりやすいセッションだと思います。最初にこれを見るといいと思います。
OutSystemsのCI/CDパイプラインに関するレポジトリ(GitHub)
手を動かして確認して見るならここを参照しましょう。自動化サーバーはJenkinsかAzure DevOpsが対象です。パイプラインに含まれるCI/CD ProbeやTrigger Pipelineの説明も含まれます。