DotCloud上でJenkinsはどこまで使えるか検討してみました
以下のような環境を作成しました。
- GitHubアカウント登録、及びPHPサンプルアプリのリポジトリ作成
GitHubの登録方法は割愛します。
今回は、Jenkinsの動作確認のために、PHPUnitのテストコードが含まれているサンプルアプリを適当に持ってきて、リポジトリに登録しました。
- DotCloudアカウント登録
DotCloudのアカウント登録は、このサイト等を参考にしてすぐにできると思います。
- dotcloudコマンドのインストール
DotCloudへアプリケーションをデプロイするためのコマンドを、ローカルPCにインストールします。ローカル端末のターミナルを開き、下記コマンドを実行します。
$ sudo easy_install pip && sudo pip install dotcloud
- DotCloudのAPIキーを取得
dotcloudコマンドでDotCloudへアクセスするために、認証用のAPIキーが必要です。まず下記URLにアクセスし、APIキーをコピーします。
https://www.dotcloud.com/settings/
続いて、ターミナル上で下記コマンドを実行し、APIキーを貼付けます。
$ dotcloud Enter your api key (You can find it at http://www.dotcloud.com/account/settings): xxxxxxxxxxxxxxxxxx
- DotCloudへJenkinsをデプロイ
GitHubから、DotCloud用のJenkinsを取得
$ mkdir -p /var/tmp/work //任意の作業用ディレクトリを作成 $ cd /var/tmp/work $ git clone https://github.com/dotcloud/jenkins-on-dotcloud.git $ cd jenkins-on-dotcloud $ vi dotcloud.yml // dotcloud用のyamlファイルを作成 jenkins: type: custom buildscript: jenkins/builder ports: www: http process: ~/run
DotCloudアプリケーションを作成し、Pushする
$ dotcloud create jenkins $ dotcloud push --all jenkins
この時点で、DotCloud上にデプロイしたJenkinsへアクセスできます。
http://xxxx.dotcloud.com/
- DotCloudへサンプルPHPアプリをデプロイ
$ cd sample-php $ vi dotcloud.yml www: type: php $ dotcloud push -all jenkins
- SSHで接続確認(dotcloudコマンドでSSH)
$ dotcloud ssh jenkins.jenkins // Jenkinsの環境へSSH $ dotcloud ssh jenkins.www // PHPの環境へSSH
- SSHで接続確認(SSHコマンド)
独自のポート番号になっているため、まずポート番号を確認します。
$ dotcloud info jenkins.www ・・・省略・・・ ports: name: ssh url: ssh://dotcloud@xxxxxx.dotcloud.com:[ポート番号] ・・・省略・・・ $ ssh -i ~/.dotcloud/dotcloud.key dotcloud@xxx.dotcloud.com -p [ポート番号]
- DotCloudからDotCloudへSSHリモートリモートコマンドができることを確認
$ dotcloud ssh jenkins.jenkins # $SHELL dotcloud@...$ mkdir work dotcloud@...$ cd work/ dotcloud@...:~/work$ vi dotcloud.key -----BEGIN DSA PRIVATE KEY----- 〜省略〜 -----END DSA PRIVATE KEY----- dotcloud@...:~/work$ chmod 600 dotcloud.key dotcloud@...:~/work$ ssh -i dotcloud.key dotcloud@...dotcloud.com -p [ポート番号] ls
- DotCloudからDotCloudへSCPができることも確認
$ dotcloud ssh jenkins.jenkins // DotCloudへSSH dotcloud@...:~$ mkdir work // 作業用ディレクトリを作成 dotcloud@...:~$ cd work/ dotcloud@...:~/work$ vi blog.key // SSH用のキーファイルを作成 -----BEGIN DSA PRIVATE KEY----- 〜省略〜 -----END DSA PRIVATE KEY----- dotcloud@...:~/work$ touch test.txt // コピー用のサンプルファイルを作成 dotcloud@...:~/work$ scp -i blog.key -P [ポート番号] test.txt dotcloud@...dotcloud.com:/home/dotcloud
初投稿、疲れました・・・
まだ使い方に慣れていないので、体裁を整えるのに時間がかかりました。。
ちょっとまとまりがない感じになってしまいましたが、今日はこのくらいで。
これから色々試したいと思います。