Emacsことはじめ
Homebrew
こないだOpenJDKをMacportsでいれたらめっっちゃ時間かかったので
Homebrewをいれてみる
http://mxcl.github.com/homebrew/
https://github.com/mxcl/homebrew/wiki/installation
XCodeもうはいってたら
ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
ってやるだけ。
Emacsをいれる
$ brew search emacs //検索 $ brew info emacs //指定Formulaの詳細情報 $ brew options emacs //オプション表示
よくわからんけど、いまはcocoaってのをいれるっぽい。
$ brew install emacs --cocoa
Emacsの初期設定
brewでインストールがおわると、
/usr/local/Cellar/emacs/23.3/Emacs.app
ができてるので、それをアプリケーションディレクトリにうつす。
したら普通にGUIから起動。したら一旦終了する。
と、ホームディレクトリにこんなのができている。
$ pwd /Users/gulibow/.emacs.d
ここに、初期設定としてinit.elというファイルをつくる。Emacsまだよくわからんのでviで書くw
(set-language-environment 'Japanese) (prefer-coding-system 'utf-8)
日本語設定と、文字コードの設定らしい。
あとは普通に起動する。
とりあえず
チュートリアルを読んで操作をおぼえます。。。
Hello, Jenkins!
Jenkinsさんと出会ってみよう。
JDKをいれる
これからはOpenJDKの時代だよね、ということでOpenJDKにする。
CentOSだとyumで入る。
# yum install -y java-1.6.0-openjdk # yum install -y java-1.6.0-openjdk-devel # yum install -y java-1.6.0-openjdk-src # yum install -y java-1.6.0-openjdk-javadoc
一番上だけいれればJREは入るけど、JDKとしていれるのであればdevelも必要。
srcとjavadocはなんとなくいれた。
mavenをいれる
Jenkinsでmavenビルドしたいので、Jenkinsを動かすサーバー上にmavenを入れる。
一旦2系の最新版を落としていれることにする。
# cd /usr/local/src # wget http://ftp.riken.jp/net/apache//maven/binaries/apache-maven-2.2.1-bin.tar.gz # tar xvzf apache-maven-2.2.1-bin.tar.gz # mv apache-maven-2.2.1 ../ # cd .. # ln -s apache-maven-2.2.1 mvn
これでOK. ディレクトリ名はなんとなく。
動作確認は、
# /usr/local/mvn/bin/mvn --version
たぶんJAVA_HOMEとか指定してないんで怒られたりするけどバージョンが表示されたらOK
Jenkinsをいれる
# cd /usr/local # mkdir jenkins # cd jenkins # wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war # java -jar jenkins.war
この起動だとコンソールにエラーとか出ちゃうけど一旦これで。
アクセスしてみる
はいアクセスできませんでした、と。
# /sbin/iptables -L --line-number Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- anywhere anywhere Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere 2 ACCEPT icmp -- anywhere anywhere icmp any 3 ACCEPT esp -- anywhere anywhere 4 ACCEPT ah -- anywhere anywhere 5 ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns 6 ACCEPT udp -- anywhere anywhere udp dpt:ipp 7 ACCEPT tcp -- anywhere anywhere tcp dpt:ipp 8 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED 9 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh 10 ACCEPT tcp -- anywhere anywhere tcp dpt:http 11 ACCEPT tcp -- anywhere anywhere tcp dpt:https 12 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ですよね。8080ポートあけなきゃね。
8080ポートをあける
# /sbin/iptables -I RH-Firewall-1-INPUT 10 -p tcp --dport 8080 -j ACCEPT # /sbin/iptables -L --line-number Chain INPUT (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- anywhere anywhere Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 RH-Firewall-1-INPUT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) num target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT all -- anywhere anywhere 2 ACCEPT icmp -- anywhere anywhere icmp any 3 ACCEPT esp -- anywhere anywhere 4 ACCEPT ah -- anywhere anywhere 5 ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns 6 ACCEPT udp -- anywhere anywhere udp dpt:ipp 7 ACCEPT tcp -- anywhere anywhere tcp dpt:ipp 8 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED 9 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh 10 ACCEPT tcp -- anywhere anywhere tcp dpt:webcache 11 ACCEPT tcp -- anywhere anywhere tcp dpt:http 12 ACCEPT tcp -- anywhere anywhere tcp dpt:https 13 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited # /sbin/service iptables save ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ]
Hello! Jenkins
http://centos01:8080/
今度こそ。
Jenkinsにmavenの情報などを伝える
Jenkinsのトップから、Jenkinsの管理>システムの設定 を開く。
ジョブを作成する
メニューから、新規ジョブを作成。
名前は適当に、Mavenプロジェクトのビルドを指定。
リポジトリの指定
svnを指定しよう。
今回実はsvnと同じサーバーにたててるのでリポジトリURLは
http://localhost/svn/repos/maven-sample02/trunk
本当はJenkinsのユーザーつくってsshがいいんだろうね。
ビルド
ルートPOM ->pom.xml
ゴール -> package
を指定。
ビルドしてみる
作ったジョブのページから、ビルド実行。
青くなれば成功。赤くなったらなんか間違ってるのでログとかみて頑張れ。
ビルド履歴をみてみる
成功したビルド履歴をクリックすると詳細にとぶ。
さらにモジュールビルドをクリックして表示したページにwarとかでてる。
おわり。
とりあえず動きました。
実際のデプロイだったりきり戻しだったりテストだったりそういうのをこれからやってきましょうかね。
svnをsshで。
なんか昨日作ったプロジェクトをこないだ作ったsvnにコミットしたらauthorが出ないのであれ?って思ったら
httpのDAVに直接ぶちこんでた。
なんかsshでやりたいときは、
http://host01/svn/repos
でリポジトリつなげていたのを
svn+ssh://[ユーザー名]@host01/[リポジトリのパス]
にすればよい。
だから、
svn+ssh://gulibow@host01/usr/local/svn/repos
みたいな。
sshになったからね。当然ですね。
ちなみにsshだとdaemon不要らしい。ちゃんとたしかめてない。
あと、linuxでのパーミッションもろに影響くうんで、
ちゃんとグループ管理とかしないとですな。
つかDAVいれた意味なくね?これ。
Eclipseでmavenでwebプロジェクトをつくりtomcatと連携してみる
かなり時間がたってしまった。。。
が、やってみるよ。
下ごしらえ
tomcatのインストール
まあこれはどうやってもいいけど。。
http://tomcat.apache.org/
から適当に落としてきて、
Macだと/usr/local とかどっか適当なとこに解凍する。だけ。
本当は起動スクリプトとかちゃんと用意したらいいんだろうけど。
起動して、managerページとか見れるのを確認しとくといいかも。
mavenプロジェクトを作る
地道に作ってもよいが、archetypeという便利なものがあるのでそれを使う。
m2eclipseが入ってると、file->new->mavenから新規mavenプロジェクトを作成する。
archetypeは、maven-archetype-webappを選ぶ。
tomcatの設定をする
作ったプロジェクトを右クリックして、プロパティからTomcatを選択。
Tomcatプロジェクトにチェックをいれる。
webアプリケーションルートは/target/[プロジェクト名]みたいな感じで。
warを作る
Run->Maven packageを実行すると、target配下にwarができる
tomcat起動!
簡単ですね!
SubversionをWebDAVで。
ApacheもはいったことだしSubversionをWebDAVで見れるようにしてみよう。
mod_dav_svn をいれる。
# yum install mod_dav_svn
subversion.conf をいじる。
# cd /etc/httpd/conf.d/ # cp -p subversion.conf subversion.conf.org # vi subversion.conf # diff subversion.conf subversion.conf.org 39,43d38 < < <Location /svn/repos> < DAV svn < SVNPath /usr/local/svn/repos < </Location>
とりあえずこれだけ追加して反映させてみる。
パーミッションを変更
# chown -R apache.apache /usr/local/svn
反映
# /etc/init.d/httpd reload
みてみる
http://centos01/svn/repos/
と、コミット済みのがみれてるはず。
【追記】CommitしようとするとPermission Deniedになる場合。
権限がちゃんと変更できてるのにできない場合、
SELinuxがEnforcingの可能性がある。
# /usr/sbin/getenforce
を打ってEnforcingと表示されたら
# chcon -R -h -t httpd_sys_content_t /usr/local/svn/repos
をやっておかないと、参照はできるがCommitしようとするとPermission Deniedになってできない。
Subversiveを入れてみる
Subversiveをいれる
Install New Software...
>Helios - http://download.eclipse.org/releases/helios を選択
>Collaboration
から
- Subversive SVN JDT Ignore Extensions (Optional)(Incubation)
- Subversive SVN Team Provider (Incubation)
をいれる。
SVN Connectorをいれる
http://community.polarion.com/projects/subversive/download/eclipse/2.0/helios-site
をupdate-siteに追加。
Subversive SVN Connectorsと、SVN Kitの最新版をいれる。
使ってみる。
Window>Open Perspective>SVN Repository Exploring
Perspective上で右クリック>New>New Repository Location
してリポジトリを追加。
今回はこないだ作ったWebDAVのリポジトリ。
http://centos01/svn/repos
適当にコミットしたり比較したりして遊んでみたら、
新しくプロジェクトを追加してみる。
追加するのはこないだ作ったmavenプロジェクト。
右クリックメニューからTeam>Share Project...>
SVNを選んでリポジトリを選択したら
Specify Project Location で Advanced Modeにして、Project Repository LayoutをUse Simple Project Layoutにして、Use Subversion Recommended LayoutにチェックをいれてFinish。
おおー
MacのChromeをためしてみる
ふと思い立ったので。
ずっとvimpでChromeロクに使ってない。
Vimlike Smooziee
なにはともあれvi化しないとはじまらない気がする。
http://code.google.com/p/vimlike-smooziee/
Chrome Keyconfig
https://chrome.google.com/extensions/detail/okneonigbfnolfkmfgjmaeniipdjkgkl
これちょうべんりだなー
{ "name": "Chrome Keyconfig", "version": "1.10.5", "normal_actions": { "l": { "name": "select right tab", "args": [] }, "M-j": { "name": "scroll down half page", "args": [] }, "M-k": { "name": "scroll up half page", "args": [] }, "M-J": { "name": "scroll to bottom", "args": [] }, "M-K": { "name": "scroll to top", "args": [] }, "C-d": { "name": "navigate form elements forward", "args": [] }, "C-u": { "name": "navigate form elements backward", "args": [] }, "Esc": { "name": "limited mode", "args": [] }, "k e y c o n f i g": { "name": "Keyconfig", "args": [] }, "H": { "name": "scroll left", "args": [] }, "J": { "name": "scroll down", "args": [] }, "h": { "name": "select left tab", "args": [] }, ": t": { "name": "open new tab", "args": [] }, ": q": { "name": "close this tab", "args": [] }, ": o": { "name": "go to #1", "args": [ "http://www.google.co.jp/", "google" ] }, "g o": { "name": "lunch quickmark (open this tab)", "args": [] }, "g a": { "name": "add quickmark", "args": [] }, "g n": { "name": "lunch quickmark (open background tab)", "args": [] }, ": w": { "name": "Taberareloo.link", "args": [] }, "C-f": { "name": "scroll down half page", "args": [] }, "C-b": { "name": "scroll up half page", "args": [] } }, "limited_actions": { "Esc": { "name": "normal mode", "args": [] } }, "useTabTitle": false, "smooth_scroll": true, "ldrize": true, "chrome_vim": true, "antiAutoFocus": true, "vim_normal_actions": { "j": { "name": "Down", "args": [] }, "k": { "name": "Up", "args": [] }, "h": { "name": "no action", "args": [] }, "l": { "name": "no action", "args": [] }, "^": { "name": "Line head", "args": [] }, "$": { "name": "Line foot", "args": [] }, "Esc": { "name": "normal mode", "args": [] }, "i": { "name": "insert mode", "args": [] } }, "vim_insert_actions": { "Esc": { "name": "normal mode", "args": [] } }, "vim_default_mode": "insert", "vim_color_config": { "normal": { "background": "gray", "text": "black" }, "insert": { "background": "white", "text": "black" } } }
はてな
http://b.hatena.ne.jp/guide/chrome_extentions
ブクマコメみたいだけw
最低限これだけいれれば結構動く。
まだイマイチつかめてない感じもあるけど、普通に使う分にはいいのではないだろうか。