【GeneXus】Jenkins連携

Jenkins使うことがあったので、まとめてみた。

Jenkinsとは

Jenkins(ジェンキンス)とは、CI/CD(継続的インテグレーション/継続的デリバリー)を実現のためのツールです。
Jenkinsは、
「ソフトウェアのリリーススピードの向上」「開発プロセスの自動化」「開発コストの削減」といった利用目的として、
注目がされているオープンソースのツールです。

参考 Jenkinsjenkins.io

環境

今回は以下の環境で実行して行きます。
・Windows 10
・GeneXus 16 u11 (Java Tomcat)
・Jenkins 2.277.1 LTS (Windowsにインストール)

今回はJenkinsをインストールして、GeneXusのビルドをして、Warを作成して、デプロイするまでにします。

参考 DevOpswiki.genexus.com

GeneXusのインストール

割愛です。勝手にインストールしてライセンスを200万くらいで買え。

Jenkinsのインストール

参考 Jenkins download and deploymentjenkins.io

インストーラーをダウンロードしてmsiを起動するだけです。


サービスを起動するユーザーを決めます。今回はLocalSystemを選択。


ポートはTomcatと被るとイヤなので変更。今回は8082に変更。


最後までインストールが完了すると、自動で 「http://localhost:8082/」 が立ちあがります。


初回起動の場合パスワードを入れないと起動しないので、
画面に表示されたファイルパスにあるファイルを開いて、パスワードを取得します。

セキュリティ上直でアクセスできない場合があるので、エクスプローラーで1個1個フォルダを潜っていってください。
ファイルはメモ帳で開いたらいいです。なぜかサクラエディタだと空だった・・・・なんで?


続いてプラグインのインストールですが、
左側は、便利でなラグインを一括でインストールしてくれます。
右側は、インストールするプラグインを選択できます。
今回は左側を選択しました。


初期ユーザーの作成


URLの設定。今回はそのままにしますが、他のPCからアクセスする場合などはマシン名 or ドメイン名がいいと思います。


で完了。

GeneXusプラグインのインストール

JenkinsにGeneXus用プラグインがあるので、それをインストールします。

参考 How to install and configure Jenkins to work with GeneXus and GeneXus Serverwiki.genexus.com

Jenkinsの管理 > プラグインの管理 > 利用可能 を選択しGeneXusで検索。

GeneXusにチェックつけて「Install without restart」をクリック。


インストールが完了したら一番したの再起動にチェック。

Jenekinsのグローバル設定

Jenkinsの管理 > Global Tool Configuration
MSBuild と GeneXus を設定します。

・MSBuild

普段ビルドしているMSBuildが一番いいかと思います。
調べる方法は普通にビルドして、タスクマネージャーから何が動いてるか見れば一発です。

私の場合はこれ↓
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

・GeneXus

GeneXus KB

・適当なKB作成
適当なKBを作成します。
トランザクションとウェブパネルを作成して、適当にビルドします。

・ソースコード管理
これをGXサーバーに送ります。
今回は自分用のGXサーバーが無いので、誰でも使えるやつを使用しました。
KBの中身バレる可能性あるので業務に関係するものはコミットしないほうが無難ですw


使用するにはGXアカウントが必要です。

・正しく送信できたか確認
以下のURLからログイン(送信に使ったGXアカウントでログイン)して、送信できてるか確認
http://sandbox.genexusserver.com/v16/main.aspx

認証情報の設定

GeneXusサーバーから更新をするので、そのアカウントを認証情報として作成します。
Jenkinsの管理 > Manage Credentials

Jenkinsを選択して、グローバルドメインを選択。
ここから、認証情報の追加を行います。

ユーザー名の部分でアカウントの種類も入れてください。
ローカルの場合は「Local\」
GeneXusアカウントの場合は「GXTechnical\」

同じ感じでSQLServer用の認証情報も作成する。

Jobの作成

参考 How to update and build the application using the GeneXus Jenkins Pluginwiki.genexus.com

新規ジョブ作成 をクリックして、
適当な名前を入れて、フリースタイル・プロジェクトのビルドを選択
で、OKボタンをクリック。

■ビルドのパタメータ化

ビルドのパタメータ化にチェックを付けて、真偽値を選択。

2個作成します。
・ForceCreateDatabase
・ForceRebuild

■ソースコード

GeneXus Serverを選択して、以下のように設定。基本的↑でGXServerにコミットした情報とかを使用。

■ビルド・トリガ

仕事とかで使うならスケジュールがいい気がしますが、ローカルや少人数の開発なら手動で実行したほうがいい気がします。
SCMをポーリングを設定。今回は5分に1回ビルドする設定。手動で実行する場合は不要。
H/5 * * * *

■ビルド

ビルド設定を行う。

一度動かしてみる

パラメータつきビルドで動かしてみる!

新規で作成するとDB接続やDB作成でエラーになると思います。

なのでGXから再編成を行わない場合には1度GeneXusを開いて「Reorganize server tables」をNOにするか
接続情報を指定して、パラメーターをTrueに指定してビルドしてください。

問題なく動くと以下みたいな感じです。

疲れたから続く!

以上

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください