gerritプロジェクト作成編

昨日の続き

サイトの準備ができたらプロジェクトの作成をおこないます。
次の3つの作業を行います。

  • ユーザー作成
  • 接続チェック
  • プロジェクト作成

まず、プロジェクトを作成するユーザーを作成します。
サイトのURLがsite.jpの場合は

http://site.jp:8443/

にいってユーザー登録を行います。

登録はサイトの右上から行います(下図参照)

デフォルトだとOPENIDになっているので今回はgoogleアカウントを選びます(下図参照)

そうするとFULL NAMEとユーザーIDを設定する画面が現れるので設定を行います。
そしてgithub同様に鍵の登録を行います。

これでユーザの作成は終了です。

接続チェック
次のステップに行く前にSSHが正しくつながるか確認しましょう。

$ ssh -p 29418 [ユーザー名]@site.jp 

次のような表示が出ればOKです。

  ****    Welcome to Gerrit Code Review    ****

  Hi bols-blue, you have successfully connected over SSH.

  Unfortunately, interactive shells are disabled.
  To clone a hosted Git repository, use:

  git clone ssh://bols@site.jp:29418/REPOSITORY_NAME.git

Connection to site.jp closed.

まずsshのポートわかんないよってひとはここで確認できます。

http://site.jp:8443/ssh_info

ポートがわかっていてつながらない人は次のが原因の可能性があります。
ファイヤーウォールiptables)ではじかれている。
・ユーザーがない(gerritのユーザーはサーバーのユーザーとは別なので作りましょう)
・ユーザー名が設定されていない(openIDではいって設定していないことがあります。)
・ユーザーのSSH鍵が設定されていない

これで接続チェックがすんだのでいよいよプロジェクトの作成です。
プロジェクトの作成は以下のようにコマンドを実行します

$ ssh -p 29418 site.jp gerrit create-project --name new/project

このコマンドでnew/project.gitが作成されgerritに登録されます。

エラーが出る場合は接続チェックを行いましょう。
これでプロジェクトの作成編は終了です。

gerritのセットアップ

まずはインストール
インストール方法はコマンドラインから以下のようにする。

この例ではサイトのドメインはsite.jpとしてあります。

$java -jar gerrit-2.2.0.war init

対話式で設定を行うことになる。ほとんどはデフォルトでOK

*** Gerrit Code Review 2.2.0
*** 


*** Git Repositories
*** 

Location of Git repositories   [git]: 

*** SQL Database
*** 

Database server type           [H2/?]: 

*** User Authentication
*** 

Authentication method          [OPENID/?]: 

*** Email Delivery
*** 

SMTP server hostname           [localhost]: 
SMTP server port               [(default)]: 
SMTP encryption                [NONE/?]: 
SMTP username                  : bols
bols's password                : 
              confirm password : 

*** Container Process
*** 

Run as                         [bols]: 
Java runtime                   [/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre]: 
Copy gerrit.war to /home/gerrid/bin/gerrit.war [Y/n]? 
Copying gerrit.war to /home/gerrid/bin/gerrit.war

*** SSH Daemon
*** 

Listen on address              [*]: 
Listen on port                 [29418]: 

Gerrit Code Review is not shipped with Bouncy Castle Crypto v144
  If available, Gerrit can take advantage of features
  in the library, but will also function without it.
Download and install it now [Y/n]? 
Downloading http://www.bouncycastle.org/download/bcprov-jdk16-144.jar ... OK
Checksum bcprov-jdk16-144.jar OK
Generating SSH host key ... rsa... dsa... done

*** HTTP Daemon
*** 

Behind reverse proxy           [y/N]? 
Use SSL (https://)             [y/N]? y
Listen on address              [*]: 
Listen on port                 [8443]: 
Canonical URL                  [https://site.jp:8443/]: 
Create new self-signed SSL certificate [Y/n]? 
Certificate server name        [site.jp]: 
Certificate expires in (days)  [365]: 

Initialized /home/gerrid

設定が終わったらサーバーをスタートします。

$ ./bin/gerrit.sh start
Starting Gerrit Code Review: OK

次のステップに行く前に確認
URLでgerritのページが表示されているか確認しましょう。

http://site.jp:8443/

ポートがわかっていてつながらない人は次のが原因の可能性があります。
ファイヤーウォールiptables)ではじかれている。

以上セットアップ編でした。

jenkins CI(旧 hudson CI)の設定の移行・セットアップ

元のマシンから新しいマシンへ移動

やることは以下の3つ
1. jenkinsのインストール
2. iptablesファイヤーウォール)の設定
3. バックアップの作成と展開

1. jenkinsのインストール
まずは本体のインストール
レポジトリをYUMに登録してインストール

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins 

2. iptablesファイヤーウォール)の設定
centOSでサーバーパッケージを入れているとファイヤーウォールで見えないので
iptablesの設定を追加。(デフォルトでは8080)

/etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 8080 -j ACCEPT


3. バックアップの作成と展開
http://d.hatena.ne.jp/w650/20090304/1236145491#tb
を参考に元の仮想マシンからバックアップを作成

ついでに定期的にバックアップを作成する際に
同じ名前だとわからなくなるので
日付をファイル名に残すようにantを修正

以下のようにした。

<project default="backup" basedir=".">
        <property environment="env" />
        <tstamp>
                <format property="DATE" pattern="yyyy_MM_dd" />
                <format property="TIME" pattern="HH:mm:ss" />
                <format property="NOW"
                        pattern="yyyy/MM/dd HH:mm:ss" />
        </tstamp>
        <target name="backup" >
                <zip basedir="${env.HUDSON_HOME}"
                        destfile="hudson_backup_${DATE}.zip"
                        excludes="war/**, jobs/*/workspace/**, *.log">
                </zip>
        </target>
</project>

サーバー側で展開してオーナーだけ変更

unzip hudson_backup_2011_02_04.zip 
ls -la
chown -R jenkins:jenkins ./*

CentOSのセットアップ-smbfsのマウント

smbfsはなくなったらしくlandiskのマウントの設定を書くと以下のように怒られる。

$ sudo mount landisk/
mount: unknown filesystem type 'smbfs'

これはsmbfsが進化してcifsになったからで
fstabのsmbfsをcifsに書き換えればok

cifsはデスクトップパッケージでインストールしてあればインストールされている。

参考URL
http://tomo.ac/goodstream/rhel/centos/tips5.html#SMB%E3%81%A7%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

CentOSのセットアップ-XDMCPログインを可能にする

gdmに接続許可するよう設定を変更。
/etc/gdm/custum.conf

[security]
AllowRemoteRoot=true
DisallowTCP=false

[xdmcp]
Enable=true

[gui]

[greeter]
BackgroundType=1
Logo=/usr/share/pixmaps/gdm-foot-logo.png

Xserverにtcpのコネクションを許可するよう変更。
/etc/X11/fs/config

#no-listen = tcp;

最後にファイヤーウォールの設定を修正
177と7100を許可する。

cat /etc/sysconfig/iptables
[sudo] password for bols: 
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 177 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7100 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

参考URL
http://www26.atwiki.jp/memotech/pages/79.html
http://www.straightrunning.com/XmingNotes/

CentOSのセットアップ-firefoxが動かない問題

仕事場でセットアップしたので忘備録

firefoxが動かない問題
以下のように表示される。

$ firefox
Could not find compatible GRE between version 1.9.0.12 and 1.9.0.12

そのために /usr/lib64/firefox-3.0.18/application.ini を修正した。
version情報は /usr/bin/xulrunner --gre-version で確認できる。
それを元にgeckoのmaxVersionを修正。

最終的な設定は以下のようになる。

# /usr/bin/xulrunner --gre-version
1.9.2.13
# cat /usr/lib64/firefox-3.0.18/application.ini 
-- 中略 --
[Gecko]
MinVersion=1.9.0.18
MaxVersion=1.9.10.18

[XRE]
EnableProfileMigrator=1
EnableExtensionManager=1

[Crash Reporter]
ServerURL=https://crash-reports.mozilla.com/submit


参考URL
http://glowsystems.blogspot.com/2010/03/centos54firefox.html

FPGAカフェのレーザー加工とフリーソフトのCADソフトでアクリルの加工をする

FPGAカフェを利用させてもらってアクリルを加工するためのソフトに関する備忘録

1.ソフトの準備
2.データ作成
3.FPGAカフェに行って作る。




1.ソフトの準備
GPLなCADソフト QCADを使うことでlinuxでも元データを作成できる。
デュアルライセンスなので商用利用の場合はライセンスが必要(らしい、商用の人は要確認)
http://www.qcad.org/
http://www.qcad.org/qcad_downloads.html

以下のプラットフォームをサポートしている。

Windows XP, 2000, Vista, 7 
Mac OS X 10.5, 10.6
Universal Binary for PPC and Intel
Mac OS X 10.4 (Tiger)
Mac OS X 10.3 (Panther) PPC
Solaris 10 x86
FreeBSD
Linux
Ubuntu 5.1, 7.04, 7.10, 8.04, 8.10, 9.04, 10.04; openSUSE 10.0, 10.1, 10.2, 10.3, 11.0, 11.1, 11.2; Fedora 2, 3, 4, 5, 6, 7, 8, 9; Debian GNU Linux 3.1, 4.0; Mandrivia 2006, 2007; Mepis 6.0; Knoppix 3.3, 3.4, 3.8, 3.9, 4.0; SUSE 9.0, 9.1, 10.0; Redhat 9.0; Mandrake 9.2, 10.0, 10.1; CentOS 4.3; Linspire 4.5, 5.0; Puppy 1.0.5; UHU-Linux 1.2; Xandros 2, 3; many other Linux distributions

ubuntuで利用する場合は以下のようなコマンドでインストールする。

sudo aptitude install qcad

他は自分で調べてインストールするべし。

2.元データの作成
この辺を参考に
http://www.mlb.co.jp/linux/science/qcad/index.html
http://www.geocities.co.jp/SiliconValley/2345/qc_jp00.html

3.FPGAカフェに行って作る。
ラスターで貼り付けたものはパラメーターを調整しないといけないようで
色々試さないとダメみたいだけれども、今回はカットのみ。

4.材料
アクリル以外に木材も可能
木材の方がアクリルよりも丈夫になる感じ。

利用可能な材料は

ラワンや固い木材はだめ