| 最近の更新 | |
|---|---|
| 夢
| 2025/10/21 |
| お出かけチェックリスト
| 2025/08/30 |
| 韓国
| 2025/08/18 |
| 音楽データをDisplayAudioで聞く
| 2025/08/18 |
| 飛行機はなぜ飛ぶか
| 2025/08/18 |
| 養老孟司
| 2025/08/18 |
| 駅探(3646)
| 2025/08/18 |
| 騙す方が悪いのか・騙される方が悪いのか?
| 2025/08/18 |
| 高麗神社
| 2025/08/18 |
| 鴨川シーワールド
| 2025/08/18 |
| 黒岩一美
| 2025/08/18 |
| 網野善彦
| 2025/08/18 |
| 縄文聖地巡礼
| 2025/08/18 |
| 老荘
| 2025/08/18 |
| 聖方位
| 2025/08/18 |
| 自分のためにやるからこそ、それがチームのためになる
| 2025/08/18 |
| 自転車
| 2025/08/18 |
| 自転車のライトに泣く
| 2025/08/18 |
| 落合史観の用語補足
| 2025/08/18 |
| 落合莞爾
| 2025/08/18 |
CI(継続的インテグレーション --Continuous Integration)ツールの1つ。
本業でも仲間が使い始めただけでなく、 セットアップの一部をやることになったので、 個人環境でもちょいと触ってみる。
Capistrano も合わせてここに記述する。
$ sudo -u jenkins vi /var/lib/jenkins/.profile … export PATH_BASE=$PATH export PATH=/home/ruby/ruby-2.2.0/bin:$PATH_BASE
で、再起動:... x="--webroot=/var/cache/jenkins/war --ajp13Port=$AJP_PORT" x="$x --httpPort=-1" # http を停止 x="$x --httpsPort=8443" # https 8443 で稼働 x="$x --argumentsRealm.passwd.[MYADMIN]=[PASSWORD]" # [MYADMIN]ユーザを指定 x="$x --argumentsRealm.roles.[MYADMIN]=admin" # [MYADMIN]を管理者に JENKINS_ARGS=$x
$ sudo service jenkins restart
そこで、git push をトリガーに job が走るように設定する。http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/
curl --insecure https://localhost:8443/git/notifyCommit?url=[myGIT-URL]
(2015/11/15) 久しぶりに Jenkins (@Ubuntu 12.04 LTS 32bit)を起動しようとしたら 動かない。で、下記が /var/log/jenkins/jenkins.log に…(´・ω・`)ショボーン:
Jenkins requires Java7 or later, but you are running 1.6.0_36-b36 from
/usr/lib/jvm/java-6-openjdk-i386/jre
java.lang.UnsupportedClassVersionError: 50.0
at Main.main(Main.java:90)java7 でないと動かない、とのことらしい。
で、
$ sudo apt-get install openjdk-7-jre
$ sudo update-alternatives --config java
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
* 0 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 自動モード
1 /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java 1061 手動モード
2 /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java 1051 * 手動モード
現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 2$ sudo service jenkins start
動いた!
参考:
以下のエラーが:
[workspace] $ /bin/sh -xe /tmp/hudson503243281910729335.sh + /var/lib/jenkins/jobs/[MY_PROJECT]/workspace/bin/jenkins/deploy.sh /home/ruby/ruby-2.2.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games /home/ruby/ruby-2.2.0/lib/ruby/gems/2.2.0/gems/bundler-1.7.11/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find json-1.8.3 in any of the sources (Bundler::GemNotFound)
$ sudo -u jenkins -i bash
$ cd /var/lib/jenkins/jobs/[MY_PROJECT]/workspace/ $ ./bin/jenkins/deploy.sh /home/ruby/ruby-2.2.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Could not find json-1.8.3 in any of the sources Run `bundle install` to install missing gems.
gem 'capistrano', '~> 3.3.0' gem 'capistrano-rails' gem 'capistrano-bundler'
以下は初回だけ必要?(TODO)
(jenkins サーバにログイン) $ cd /var/lib/jenkins/jobs/[MY_PROJECT]/workspace $ sudo -u jenkins -i ./bin/bundle install
$ sudo -u jenkins env PATH=/home/ruby/ruby-2.2.0/bin:$PATH cap staging some_test ... cap aborted! SSHKit::Runner::ExecuteError: Exception while executing as ...
なお、ここで実は貧乏経費削減で Jenkins サーバ == デプロイサーバ == ステージングサーバ だったりするがそれはさて置く(汗)。
デプロイ先(ここではステージングサーバ)用 cap ファイル config/deploy/staging.rb の ssh_options を実行ユーザ Jenkins に合わせて 設定する必要があった:
set :ssh_options, {
keys: %w(/var/lib/jenkins/.ssh/id_rsa),
forward_agent: false,
auth_methods: %w(publickey)
}