Jenkins使うことがあったので、まとめてみた。
Jenkinsとは
Jenkins(ジェンキンス)とは、CI/CD(継続的インテグレーション/継続的デリバリー)を実現のためのツールです。
Jenkinsは、
「ソフトウェアのリリーススピードの向上」「開発プロセスの自動化」「開発コストの削減」といった利用目的として、
注目がされているオープンソースのツールです。
環境
今回は以下の環境で実行して行きます。
・Windows 10
・GeneXus 16 u11 (Java Tomcat)
・Jenkins 2.277.1 LTS (Windowsにインストール)
今回はJenkinsをインストールして、GeneXusのビルドをして、Warを作成して、デプロイするまでにします。
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が一番いいかと思います。
調べる方法は普通にビルドして、タスクマネージャーから何が動いてるか見れば一発です。
私の場合はこれ↓
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
GeneXus KB
・適当なKB作成
適当なKBを作成します。
トランザクションとウェブパネルを作成して、適当にビルドします。
・ソースコード管理
これをGXサーバーに送ります。
今回は自分用のGXサーバーが無いので、誰でも使えるやつを使用しました。
KBの中身バレる可能性あるので業務に関係するものはコミットしないほうが無難ですw
・正しく送信できたか確認
以下の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に指定してビルドしてください。
疲れたから続く!
以上