参考書籍など(随時更新)
- 継続的インテグレーションサーバ
- ビルドプロセスの管理
- Webブラウザ上で確認できるなど、開発者の手間が少ないことが望ましい
- Jenkins
- ソースコード管理システム
- ビルドツール
- ビルドプロセスの実行、動作可能なソフトウェアを生成(warとかearとか)
- 継続的インテグレーションサーバから実行されるのが一般的。同じサーバ上に構築されることもある
- Ant,Maven,Gradle
- テストツール
- テストカバレッジ取得ツール
- テストツールがどの行(?)を実行したかをレポート
- JUitに対応したオープンソースのツールとしてはJaCoCoがある
- インスペクションツール
Jenkinsを使ってみる
ビルド結果メール通知の設定(Gmailを使用)
simple-java-maven-app tutorial の実施
github.com
pipeline {
agent {
docker {
image 'maven:3-alpine'
args '-v /root/.m2:/root/.m2'
}
}
stages {
stage('Build') {
steps {
sh 'mvn -B -DskipTests clean package'
}
}
}
}
- あともチュートリアル通りに実施
- 間違えたらすぐにコンテナ破棄してやり直せるのがよい
- 業務への導入を見据えてのSVN
- docker-compose.yml
version: "2.0"
services:
subversion:
image: kuchida1981/subversion-httpd
environment:
- SVN_DEFAULT_USER=username
- SVN_DEFAULT_USER_PASSWD=password
- SVN_REPOSITORY_DESCR="My Repositories"
- SVN_DEFAULT_REPOSITORY=repositoryname
ports:
- "88:80"
- "444:443"
- "2222:22"
volumes:
- './subversion_home:/var/svn'
container_name: subversion
jenkins:
image: jenkins/jenkins:lts
ports:
- 8090:8080
volumes:
- './jenkins_home:/var/jenkins_home'
container_name: jenkins