<commit_before>Sample files for [IaC 勉強部屋](http://hfs.connpass.com/event/31879/).

* Ansible を使って、Tomcat 上に gitbucket をデプロイする。
* Docker コンテナ上に Tomcat を稼働させ、gitbucket をデプロイする。

といった自習向け課題の資料です。

## gitbucket with Ansible

## gitbucket on Docker

```
$ cd docker
$ docker-compose -f compose-gitbucket.yml build
$ docker-compose -f compose-gitbucket.yml up -d
```

## flask app on Docker

```
$ cd docker
$ docker-compose -f compose-flask.yml build
$ docker-compose -f compose-flask.yml up -d
```<commit_msg>Add description<commit_after>Sample files for [IaC 勉強部屋](http://hfs.connpass.com/event/31879/).

* Ansible を使って、Tomcat 上に gitbucket をデプロイする。
* Docker コンテナ上に Tomcat を稼働させ、gitbucket をデプロイする。

といった自習向け課題の資料です。

# 事前準備

[Vagrant](https://www.vagrantup.com) が利用出来る前提で
資料を用意しています。
事前のインストールをお願いします。

## 自習用環境の構築

Vagrant をインストールしたら、このディレクトリで

    $ vagrant plugin install vagrant-vbguest
    $ vagrant up

と実行してください (プラグインのインストールは初回のみで OK)。
仮想マシンのイメージダウンロードに続いて、
Ansible を実行できる Ubuntu 環境が作成されます。

なお、プロキシ環境下では ``vagrant-proxyconf`` プラグインを
インストールしておくとゲスト OS へプロキシ設定が少し楽になります。

## docker コマンド群のインストール

自習用環境に docker-engine, docker-compose, docker-machine のインストールをします。
ansible playbook 化してあります。
まずホスト OS からゲスト OS にログインします。

    $ vagrant ssh

ゲスト OS 上で以下のコマンドを実行します。

    $ cd /vagrant/playbooks
    $ ansible-playbook -i hosts.local docker_toolbox.yml -k

以上で、自習用環境上で docker コマンド群が利用できるようになります。

# 自習課題

## gitbucket with Ansible

``playbooks`` ディレクトリ以下を利用します。

## gitbucket on Docker

``docker`` ディレクトリ以下を利用します。

```
$ cd docker
$ docker-compose -f compose-gitbucket.yml build
$ docker-compose -f compose-gitbucket.yml up -d
```

## flask app on Docker

```
$ cd docker
$ docker-compose -f compose-flask.yml build
$ docker-compose -f compose-flask.yml up -d
```
{'fraction_non_alphanumeric': 0.11028993746446845, 'fraction_numerical': 0.005685048322910745, 'mean_word_length': 4.569620253164557, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2381633', 'n_tokens_mistral': 1047, 'n_tokens_neox': 924, 'n_words': 160}