yukata

日々出会ったIT技術関連の所感やら紹介やら

DotCloud上でJenkinsはどこまで使えるか検討してみました

 

以下のような環境を作成しました。

 

f:id:maehira:20120830231033p:plain

 

    • 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

 

   

初投稿、疲れました・・・

まだ使い方に慣れていないので、体裁を整えるのに時間がかかりました。。

ちょっとまとまりがない感じになってしまいましたが、今日はこのくらいで。

 

これから色々試したいと思います。