OSの授業の採点に使おうかと。
既に学科のサーバ上に設置されたのがあって、それが使えるかどうかチェックするわけですが...
* 自分はloginできるが、学生はできない
あれ? 正確にはloginできるが「権限がない」とか言ってる。ふーん。で、attonとimpaでうだうだしたところ、
* 学生のldap groupをJenkinsに登録する必要がある
なんだけど、状況は変わらない。ユーザはJenkins上にできるが、student groupが表示されない。で、判明したのが、
* ldap groupと POSIX group は違う
Jennkins側をPOSIX groupに対応させるよりも、ldap 側にstudent groupを追加する方が良いということで、ldapにgroupを追加。
で、login できた〜
次は、
* mercurial
これは yum で。Jenkinsの方には、Mercurial plugin を入れる。
ここで、Jenkins上に item を作って、mercurial repository を接続する。これで、Jenkins 側から build now。お、動いた。
が、gradle build してないな。gradle plugin を入れただけじゃだめか。というか、
* java8 と gradle
どっちも入ってない。まあ、そうだよな。java8 は openjdk8をyumで。gradle は zip で。ところが、
* command not found
あれ〜 どこに入れた? /usr/local/gradle? う〜、いいや、/usr/bin に symbolic link 。よし、これで build してくれたようだが...
* tools.jar not found
へ? いや、Java8のruntimeだけじゃだめなんだよ。JDKいれないと。で、yum で java-1.8.0-openjdk-devel.x86_64 を入れる。よし解決。
でも、build してくれないんですが。:help とか言ってる。ググると、
* build.gradle で default task を指定しろ
あ、そうですか。Jenkins 側では task を指定するには wrapper を使う必要があるらしい。まぁ、build.gradle に書かせればよいか。
* defaultTasks 'build'
よしよし、これで、gradle build が通って、build が green に。
あ、でも、Warning は許せないんですが。え、それも gradle でやるの?
compileJava {
options.compilerArgs << "-Werror"
}
なるほど。
でも、JenkinsにOS受講者分 item が並ぶんですが、それはいいの? Jekins にitemのfiilterみたいなのがあるのか。それでいいか。
はい、お疲れ様でした。これで、手動で hg clone から抜け出せるかな。
No comments:
Post a Comment