2015年1月29日木曜日

/etc が謎の肥大化。原因はetckeeper (.git/)。


# du -hsc /etc*
15G total
# du -hs /etc/*
(略)
81M total

なぜだ・・・
と思ったら隠しディレクトリに原因が。


# du  -hsc /etc/.*
15G     /etc/.
du: cannot access `/etc/../proc/14172/task/14172/fd/4': No such file or directory
du: cannot access `/etc/../proc/14172/task/14172/fdinfo/4': No such file or directory
du: cannot access `/etc/../proc/14172/fd/4': No such file or directory
du: cannot access `/etc/../proc/14172/fdinfo/4': No such file or directory
16G     /etc/..
8.0K    /etc/.etckeeper
15G     /etc/.git
4.0K    /etc/.gitignore
0       /etc/.pwd.lock
45G     total

なんで/etcに.gitがあんねん!ひょっとして間違ってうっかり git init でもやっちゃったのかなぁ心当たりないなぁ。
と思って軽く調べてみたらetcのバージョン管理を自動でやってくれるetckeeperという仕組みが勝手にデイリーでコミットし続けてくれている事が発覚。

etckeeper 肥大化 とか etc 肥大化 とかで検索しても大した情報は見つからなかったのですが、
とりあえず


# cd /etc
# git gc
Counting objects: 28413, done.
Compressing objects: 100% (26954/26954), done.
Writing objects: 100% (28413/28413), done.
Total 28413 (delta 21602), reused 0 (delta 0)
Removing duplicate objects: 100% (256/256), done.
# du -hsc /etc/.git
45M /etc/.git
45M total

スッキリしたみたいです。


2015年1月23日金曜日

Jenkinsで bundle install --path=vender/bundler が失敗する場合の対処法

以下のようなエラーが出ていろいろ試行錯誤した結果、nokogiriをビルドするためには、パスに空白があるといけないということが判明。。
Jenkinsのジョブ名を空白なしに修正unit testunit_testしたら先に進めた。。。
(ジョブ名を変えればディレクトリ名も自動的に変わる模様)

~~~
Building in workspace /var/lib/jenkins/jobs/unit test/workspace


git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
git config remote.origin.url /var/opt/alminium/git/* # timeout=10
Fetching upstream changes from /var/opt/alminium/git/

git --version # timeout=10
git fetch --tags --progress /var/opt/alminium/git/
* +refs/heads/:refs/remotes/origin/
git rev-parse refs/remotes/origin/proto^{commit} # timeout=10
git rev-parse refs/remotes/origin/origin/proto^{commit} # timeout=10
Checking out Revision 7145731f308fec32fe9c84f32733fc4cfa0b91a9 (refs/remotes/origin/proto)
git config core.sparsecheckout # timeout=10
git checkout -f 7145731f308fec32fe9c84f32733fc4cfa0b91a9
git rev-list 7145731f308fec32fe9c84f32733fc4cfa0b91a9 # timeout=10
[workspace] $ /bin/sh -xe /tmp/hudson8128990982305471465.sh
+ bundle install
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies......
Using rake 10.4.2
Using i18n 0.7.0.beta1
Using json 1.8.1
Using minitest 5.5.0
Using threadsafe 0.3.4
Using tzinfo 1.2.2
Using activesupport 4.2.0.rc1
Using builder 3.2.2
Using erubis 2.7.0
Using mini
portile 0.6.1


Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb 

/usr/bin/ruby: invalid option -u (-h will show valid options) (RuntimeError)

extconf failed, exit code 1

Gem files will remain installed in /var/lib/jenkins/jobs/* unit test/workspace/vendor/bundler/ruby/2.1.0/gems/nokogiri-1.6.5 for inspection.
Results logged to /var/lib/jenkins/jobs/
*
unit test/workspace/vendor/bundler/ruby/2.1.0/extensions/x8664-linux/2.1.0/nokogiri-1.6.5/gemmake.out
An error occurred while installing nokogiri (1.6.5), and Bundler cannot
continue.
Make sure that gem install nokogiri -v '1.6.5' succeeds before bundling.
Build step 'Execute shell' marked build as failure
Build step 'Aggregate Redmine ticket metrics' marked build as failure
Finished: FAILURE
~~~