30 開発共通

CI(Continuous Integration)とCD(Continuous Delivery)

下記は他サイトから引用

開発流れ

テストツールの分類(JavaScript)

Cloud Platforms and Open APIs

★Jenkinsの導入(Ubuntuの場合)

http://jenkins-ci.org/

前提:Java、Maven、Tomcat

sudo service tomcat6 stop

sudo mv jenkins.war /var/lib/tomcat6/webapps/

sudo mkdir /usr/share/tomcat6/.jenkins

sudo chown -R tomcat6:tomcat6 /usr/share/tomcat6/.jenkins

sudo service tomcat6 start

http://localhost:8080/jenkins/

起動

方法1:java -jar jenkins.war http://localhost:8080/

方法2:warファイルをtomcatのwebappsに置く

★Sonar(3.7.x)の導入(Ubuntuの場合)

http://www.sonarqube.org/

前提:Java、Tomcat、MySQL

sonarデータベース作成(rootより)

MySQLのDB作成サンプルを参照

方法1

mv sonar /usr/share/tomcat6

sudo chown -R tomcat6:tomcat6 sonar

sudu vi sonar/conf/sonar.properties

sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

cd sonar/war

sudo ./build-war.sh

sudo service tomcat6 stop

sudo mv sonar.war /var/lib/tomcat6/webapps/

sudo service tomcat6 start

http://localhost:8080/sonar/

方法2

sudo sonar/bin/linux-x86-64/sonar.sh start|stop

http://localhost:9000/

★TDD vs BDD

TDD テスト駆動開発 Test Driven Development

BDD 振舞駆動開発 Behaviour Driven Development

JBehave

http://jbehave.org/

Cucumber

import cucumber.junit.Cucumber;

import org.junit.runner.RunWith;

@RunWith(Cucumber.class)

public class CucumberTest {

}

import cucumber.annotation.en.Given;

import cucumber.annotation.en.Then;

public class HelloStepDef {

@Inject

private Hello hello;

private String name;

@Given("^A person named '([a-z]*)'$")

public void initName(final String name) {

this.name = name;

}

@Then("^The bean says '([ a-z]*)'$")

public void checkResult(final String result) {

assertEquals(result, hello.sayHello(name));

}

}

hello.feature

Feature: Hello

Scenario: Say Hello

Given A person named 'andy'

Then The bean says 'hello andy'

★JenkinsとSonarの連携(Ubuntuの場合)

Step1 Sonar Runnerのインストール

ダウンロード

http://docs.codehaus.org/display/SONAR/Installing+and+Configuring+SonarQube+Runner

sudo chown -R tomcat6:tomcat6 解凍したsonar-runner

sudo vi sonar-runner/conf/sonar-runner.properties

Step2 Jenkinsの管理 → プラグインの管理

Sonar Pluginをインストール

Step3 Jenkinsの管理 → システムの設定

「Sonar runner」を設定

「Sonar」を設定

Step4 $MAVEN_HOME/conf/settings.xmlを編集

<profile>

<id>sonar</id>

<activation>

<activeByDefault>true</activeByDefault>

</activation>

<properties>

<!-- Example for MySQL-->

<sonar.jdbc.url>

jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8&amp;rewriteBatchedStatements=true

</sonar.jdbc.url>

<sonar.jdbc.username>root</sonar.jdbc.username>

<sonar.jdbc.password>root</sonar.jdbc.password>

<!-- Default value is http://localhost:9000 -->

<sonar.host.url>

http://localhost:8080/sonar/

</sonar.host.url>

</properties>

</profile>

Step5 Cache用のフォルダを作成

sudo mkdir /usr/share/tomcat6/.sonar

sudo chown -R tomcat6:tomcat6 /usr/share/tomcat6/.sonar