読者です 読者をやめる 読者になる 読者になる

Jenkins - ポート番号変更

Jenkins

Jenkins QAC編は進んでいないので・・・ポート番号を変更する方法について記述をします。Jenkinsのポート番号はデフォルトで8080ですが、他のツールを入れようとしたときにそのポート番号を重複して使用しようとすることがありますので、変更しておくと安全かもしれません。

 

まずはどのポートを使うか決めなければいけません。

0-49151まではだいたい使用するアプリが決まっているそうですので、49152-61000あたりで決めると良いかもしれません。ただこれも、社内で使用しているツールの設定状況などの影響を受けますので、気をつけましょう。

TCPやUDPにおけるポート番号の一覧 - Wikipedia

 

次にJenkins自体が認識しているポート番号を変更します。

「Jenkinsの管理→システムの設定→Jenkinsの位置」の「Jenkins URL」に記載されているポート番号を8080から任意の番号へ変更します。

http://localhost:8080/ → http://localhost:51111/

 

Jenkins自体の設定を変えるためにはXMLファイルを編集する必要があります。このファイルはメモ帳で開くと改行が機能せず見づらいので、何らかのテキストエディタで開くことをおすすめします。

C:\Jenkins\jenkins.xml

変更前

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>

変更後

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=51111 --webroot="%BASE%\war"</arguments>

 

最後にPCを再起動するか、Jenkinsサービスを再起動します。

サービスを再起動させる方法は下記の方法がGUIでできて、簡単かもしれません。

「CTRL+ALT+DELETE」→タスクマネージャー→サービスタブ→

 「名前がJenkinsとなっている項目の上で右クリック」→「再起動を選択」

 

ブラウザへ入力しているJenkinsアドレスのポート番号を変更すれば、アクセスできるはずです!

 

 

参考URL

kakakikikeke.blogspot.jp

 

 

Jenkins - QACによる静的解析の自動実行 (1)

Jenkins 静的解析 バッチ

自動車系組み込みソフトウェアの静的解析ツールの定番ツールであるPRQA社QAC、今は残念ながら設定手動、実行自動という形で使用しているのが現状です。

正直な所、今まで使用してきた印象としては自動化しづらそうですが、なんとかするしかありません。設定ファイルを自動で作成するスクリプトを準備中で、これが完成すればJenkins先生に頼みっぱなしにできるのではないかと考えています。

 

PRQA社からJenkinsのプラグインも提供されていますが、イマイチ使い方が・・・

PRQA Plugin - Jenkins - Jenkins Wiki

 

QACを実行するときには下記のような手順になっています。

  1. ディレクトリ設定 (手動) 今は個々をスクリプト化しているところです!
  2. バッチ実行 (自動)
  3. 結果確認 (手動)
  4. レポート作成 (手動)

 

ディレクトリ設定とは、QACをバッチで実行する際に設定ファイルを渡さないといけないのですが、この設定ファイルの中にインクルードファイルの全てのパスが入っていなければなりません。下記のようなバッチを実行してディレクトリ一覧を作成する方向でいろいろやっているところです。

@echo off
for /d /r %%i in (include*) do (
echo %%i
)
pause

 

sawa_tsuka様の下記ページを参考にしました。

 

アルゴリズム毎の動きの違いをビジュアル化

アルゴリズム

ソフトウェアの作り方の勉強の中で、例えばソートのアルゴリズムの話しが出てきたりします。分かりやすい仕組みのものはどう動いていくのかの想像がつくのですが、複雑な仕組みのものはどう動いていくのかが中々想像できません。

また動かない絵を使って、全く知識のない人に説明するのは、これまたなかなか難しいものです。つい最近どこかのページでアニメーション化したものをみつけましたので、メモ代わりに貼り付けておきます。

VisuAlgo - visualising data structures and algorithms through animation

f:id:tsuga-ppp:20160923012316p:plain

 

いろいろ動かしてみると面白いですよ!

Jenkins - Subversionへのコミットのタイミングで、ジョブを実行する

Jenkins Subversion

Jenkinsの典型的な利用パターンの一つに「Subversionへのコミットを行うと自動でビルドジョブを実行する」というものがあります。これはGitを利用しているとすごく簡単にできるようです。

残念ながら我が社は相変わらずこういうものに厳しい、ということとSubversionすら使いこなせていない現状を考えると、まだその時ではない、ということでSubversionで進めています。

 

話が長くなりました。このSubversionからのコミット連携の記事はたくさんあります。例えば、romth様の記事が下記です。

romth.hatenablog.com

 

が、この手を使うにはwgetというプログラムを入れる必要があります。冒頭でもお話をしましたが、我が社ではなかなか難しいですので、他の手を考えました。(上記の手段をとった場合、Jenkinsのユーザー名とパスワードはどうやって認識しているのでしょうね?)

Jenkinsはスクリプトやシェルからアクセスできる組込のCLIクライアントを持っています。自分のJenkinsのパスの最後にcliを付けると、インストーラのパスと使えるコマンド一覧が出てきますので見てみてください。(デフォルトはhttp://localhost:8080/cli/)

 

参考までにtototoshi様の記事を下記に示します。

qiita.com

 

Jenkinsのディレクトリ内にあるjenkins.warを解凍するとjenkins-cli.jarが入っていると思いますので、Subversionのフックスクリプト内に下記のように記載すればCLIから操作できます。

cd "jenkins-cli.jarのディレクトリ"
java -jar jenkins-cli.jar -s http://localhost:8080/ build "ジョブ名"

 

肝心なことを書き忘れました。CLIを使うにあたって下記記事の一番下に書いた設定を有効にする必要があります。ご注意を!

tsuga-ppp.hatenablog.com

 

まだまだいろいろやりたいことがあるのですが、どこまでできるのかも分からないので少しずつ試していきます。

 

 

 

Jenkins - Subversionのレポジトリへ成果物をコミットする

Jenkins Subversion

Jenkins先生はSubversionの任意のレポジトリを持ってくるところまでは簡単にGUIで設定できますが、ビルド結果をコミットするところはGUI上にありません。

 が、単純にsubversionコマンドラインを使用してしまえばよいことに気づきました。コマンドラインをゴニョゴニョしているときに見ていたのがこちら。

Subversion コマンドラインクライアント: svn

 

ビルド用の「シェルの実行」「Windowsバッチコマンドの実行」の後ろへ、さらに「Windowsバッチコマンドの実行」を追加して以下のように記載するとコミットしてくれます。

 cd "コミットしたいディレクトリ"

svn commit -m "コメント" --username "subversion ユーザー名" --password "subversionユーザーパスワード"

 

実際にはこんな感じです。

cd svn_repo\branches\soft_hoge\output\bin

svn commit -m "jenkins commits output files" --username "svn_jenkins" --password "password"

 

 ここで気をつけないといけないのが、新たに「Windowsバッチコマンドの実行」を設定すると、選択されているディレクトリが「workspace」に戻っていることです。

 

 

Jenkins - インストール

Jenkins

各業界で大活躍のJenkins先生を自社でも導入して行けないか、検討を始めました。

 

ただ、自社のセキュリティ施策は非常に厳しいため、まずは自宅PC(Windows10)で試そうとインストール。

 

この辺のページを参考にさせて頂きました。ありがたやありがたや!

Jenkinsをインストールして使ってみよう[Mac/Linux/Windows] - Build Insider

 

詳細なインストールはこのページにお任せするとして、、、

インストール後に下記の項目は必ず設定、または確認しておいたほうが良いです。

あとで撃沈することになります。

 

Jenkinsの管理→システムの設定→Jenkinsの位置

Jenkins URL: Cpname:8080

これはコンピュータ名が"Cpname"だったときの推奨設定です。

あとでいろいろな機能を使う時の障害になるのできちんと設定しましょう。

 

Jenkinsの管理→システムの設定→シェル

シェル実行ファイル: c:\cygwin64\bin\sh.exe

Cygwinちゃんをインストールしてあれば上記のように設定しましょう。

 

Jenkinsの管理→グローバルセキュリティの設定→セキュリティを有効化

TCP port for JNLP agents: 固定 or ランダム

これ、見つけるまでに時間がかかりました。

CLIを使用するときに困るので有効にしましょう。

(社外に公開していない事が前提です)