最近の更新 | |
---|---|
ドライランのありがたみを改めて知る
| 2024/04/04 |
伊豆半島
| 2024/03/31 |
お出かけチェックリスト
| 2024/03/29 |
Ruby
| 2024/03/27 |
Kubernetes
| 2024/03/22 |
音楽データをDisplayAudioで聞く
| 2024/03/09 |
Redmine
| 2024/02/05 |
git
| 2024/02/02 |
経済
| 2024/01/08 |
どうする家康
| 2023/12/17 |
MX-Linux
| 2023/11/06 |
國體関連学-休学のご連絡
| 2023/08/13 |
Debian
| 2023/08/02 |
CentOS
| 2023/06/13 |
Dell-XPS13
| 2023/05/23 |
ベルト
| 2023/05/18 |
SourceForge
| 2023/04/17 |
確定申告
| 2023/02/19 |
さらば「まぐまぐ」
| 2023/01/09 |
風猷縄学
| 2022/11/23 |
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) }