---
# System prepended metadata

title: 自動構築タスク一覧

---

# 自動構築タスク一覧
### Ansible・Jenkinsを組み合わせてwebサーバを構築してみよう！

### ゴール
> Jenkinsジョブでビルド実行
> ▼
> Ansible実行
> ▼
> webサーバ起動

### 環境
```
OS     : amazon linux 2 (arm)
python : 3.8.16
java   : openjdk 11.0.16
ansible: 6.7.0 (core 2.13.7)
jenkins: 2.389
```

### 構築ステップ
1. Ansibleサーバ上でansible-playbookコマンドを実行可能にする
2. ansible-playbookを実行しEC2を起動
3. ansibleに自動起動したEC2にapacheをインストールするタスクを追加
4. webサーバにアクセスしてページが見れることを確認
5. jenkinsでジョブを作成
6. ジョブからansibleサーバ上でコマンドが実行可能にする
7. jenkinsをキックしてansibleを実行

*〜条件〜*
1. 起動したEC2にEBSボリュームを（ルート+１）計2つ付与出来ている
ボリュームタイプ：gp3
ボリュームサイズ：32GB
スループット：125
2. Ansible Playbookをディレクトリ構造で作れている
※単一ymlファイルにすべて記載するのはNG

---

***おまけ***
### vscodeでansibleを書くためansibleサーバとgithubの連携する

▼ansibleサーバ
```lua
$ ssh-keygen -t rsa -b 2096
　Enter file in which to save the key (/home/xx/.ssh/id_rsa):　←空白のままEnter
　Enter passphrase (empty for no passphrase):　←空白のままEnter
　Enter same passphrase again:　←空白のままEnter

$ cat ~/.ssh/id_rsa.pub
↑表示されたものをコピー
```

*GitHubでの登録の流れ*
1. GitHubにログイン
2. 右の自分のアイコンからSettingsを選択
3. SSH and GPG keyを選択
4. New SSH keyを選択
5. Title記入（わかりやすい名前）
6. Keyに先程コピーした公開鍵をペースト
7. Add SSH Keyを選択
8. Ansibleサーバから
```
$ ssh -T git@github.com
```
を入力し
```
Hi xxxxxx! You've successfully authenticated, but GitHub does not provide shell access.
```
と表示されたら連携完了

あとはいつものようにgitを利用してください



