# 自動構築タスク一覧 ### 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ボリュームを(ルート+1)計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を利用してください