jenkins/doc/HandsOn_Slide.md
2024-11-12 17:11:48 +09:00

153 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
marp: true
theme: default
class: lead
paginate: true
footer: "Jenkins CI/CD ハンズオン"
# Jenkins CI/CD ハンズオン
- CI/CDの基礎を理解する
- Jenkinsでの自動化ワークフローを体験
- 簡単なアプリケーションのビルドとテスト
---
# アジェンダ
1. Jenkinsの概要
2. 「Hello World」ジョブの作成
3. サンプルアプリケーションのビルドとテスト
4. 簡単なデプロイ処理
5. GitHub Webhookを使った自動トリガー
6. (オプション) Slack通知の設定
---
# Jenkinsの概要
- **Jenkinsの役割**CI/CDツールとしての役割
- **基本用語**:ジョブ、パイプライン、ビルド、ワークスペース、ノード
- **Webインターフェース**:メインダッシュボードや基本設定の場所を確認
---
# Step 1: 「Hello World」ジョブの作成
1. **ジョブの作成**
- 「新しいジョブ作成」 → 「フリースタイルプロジェクト」
- ジョブ名を「Hello World」に設定
2. **ビルド設定**
- 「ビルド」セクション → 「シェルの実行」
- コマンド: `echo "Hello, World!"`
3. **実行と確認**
- 「ビルド」ボタンをクリック
- コンソール出力で結果を確認
---
# Step 2: サンプルアプリケーションのビルドとテスト
### 準備
- **サンプルリポジトリ**
- 簡単なPythonアプリケーション`app.py` と `test_app.py`
```python
# app.py
def add(a, b):
return a + b
```
```python
# test_app.py
import unittest
from app import add
class TestApp(unittest.TestCase):
def test_add(self):
self.assertEqual(add(1, 2), 3)
if __name__ == "__main__":
unittest.main()
```
---
# Step 2 (続き): ビルドとテストの自動化
1. **新規ジョブ作成**
- 「新しいジョブ作成」 → 「フリースタイルプロジェクト」
- ジョブ名「Pythonアプリビルドとテスト」
2. **Gitリポジトリの設定**
- 「ソースコード管理」→「Git」を選択
- リポジトリURLを入力
3. **ビルド設定**
- 「シェルの実行」→ `python3 -m unittest test_app.py`
4. **実行と確認**
- ジョブを実行し、テスト結果を確認
---
# Step 3: デプロイ処理の追加
1. **アーティファクト保存**
- 「ビルド後の処理」 → 「アーカイブするアーティファクト」
- 保存するファイル:`*.zip`
2. **シェルコマンド追加**
- 「シェルの実行」→ `zip -r app.zip .`
3. **実行と確認**
- ジョブ実行後、ZIPファイルが生成され、アーティファクトとして保存されていることを確認
---
# Step 4: GitHub Webhookでの自動トリガー
1. **ビルドトリガーの設定**
- 「ビルドトリガー」→「GitHub hook trigger for GITScm polling」
2. **GitHubの設定**
- GitHubリポジトリの「Settings > Webhooks」→ Webhook追加
- URL例: `http://localhost:8081/github-webhook/`
- Content typeは`application/json`
3. **確認**
- GitHubに変更をプッシュし、Jenkinsでジョブが自動的に実行されることを確認
---
# Step 5 (オプション): Slack通知の設定
1. **Slackプラグイン設定**
- JenkinsにSlack Notification Pluginをインストール
- SlackのワークスペースでWebhookを設定し、トークンを取得
2. **Slack通知の追加**
- 「ビルド後の処理」→「Slack通知」
- 成功時・失敗時の通知を設定
3. **通知の確認**
- ビルド実行後、Slackに通知が届くことを確認
---
# まとめ
- JenkinsでCI/CDの基本フローを体験
- 手動ジョブ作成、Gitリポジトリ連携、自動テスト、デプロイ、通知
- CI/CDの自動化とそのメリットを理解
---
# お疲れ様でした!
- Jenkinsの基本操作を学べましたか
- 継続的インテグレーションとデリバリーの流れを理解できましたか?
Jenkinsを使ったCI/CDにぜひ挑戦してみてください