コンテンツにスキップ

CREATE NEW HANDSON

新しいハンズオンを作成・公開する手順です。


Prerequisites

  • GitHub アカウント(mtmtnao-handson Organization のメンバー)
  • Git / GitHub CLI
  • Python 3.x(ローカルプレビュー用)

Step 1: Create Repository

テンプレートからリポジトリを作成します。

  1. aws-handson-template にアクセス
  2. Use this template」→「Create a new repository」をクリック
  3. Owner: mtmtnao-handson を選択
  4. Repository name: ハンズオン名を入力(例: lambda-basics
  5. Create repository」をクリック
# リポジトリを作成
gh repo create mtmtnao-handson/lambda-basics \
  --template mtmtnao-handson/aws-handson-template \
  --private

# ローカルにクローン
gh repo clone mtmtnao-handson/lambda-basics
cd lambda-basics

URL について

リポジトリ名がそのまま URL のパスになります。

lambda-basicshttps://d2g4vxtyjwu8ha.cloudfront.net/lambda-basics/


Step 2: Configure Metadata

handson-meta.json を編集してポータルに表示される情報を設定します。

{
  "name": "Lambda 入門ハンズオン",
  "description": "AWS Lambda の基本を学ぶハンズオンです。",
  "icon": "material-lambda",
  "duration": "約45分",
  "level": "初級",
  "order": 50,
  "enabled": true
}
項目 説明
name ポータルに表示される名前
description ポータルに表示される説明(1〜2文)
icon アイコン名(Material Design Icons から選択)
duration 所要時間の目安
level 難易度(初級 / 中級 / 上級)
order 表示順(小さいほど上に表示)
enabled false にすると非表示

Step 3: Configure Site

mkdocs.yml を編集してサイト情報を設定します。

site_name: "Lambda 入門ハンズオン"
site_description: "AWS Lambda の基本を学ぶハンズオン"
site_url: https://d2g4vxtyjwu8ha.cloudfront.net/lambda-basics/

Step 4: Create Content

docs/ フォルダ内の Markdown ファイルを編集してコンテンツを作成します。

docs/
├── index.md              # トップページ
├── 01_overview/
│   └── index.md          # 概要
├── 02_setup/
│   └── index.md          # セットアップ
├── 03_hands_on/
│   └── index.md          # 実践
└── assets/
    └── images/           # 画像を配置

Markdown Tips

!!! note "タイトル"
    注釈ボックス

!!! warning "警告"
    警告ボックス

=== "タブ1"
    タブの内容

```bash
コードブロック
```


Step 5: Preview

ローカルでプレビューして内容を確認します。

# MkDocs をインストール(初回のみ)
pip install mkdocs-material

# プレビュー起動
mkdocs serve

ブラウザで http://127.0.0.1:8000 を開いて確認。


Step 6: Deploy

変更をプッシュすると自動でデプロイされます。

git add .
git commit -m "ハンズオンコンテンツを追加"
git push

自動デプロイ

  • main ブランチにプッシュすると GitHub Actions が自動実行
  • ポータルへのカード追加も自動(最大1時間以内)

FAQ

AWS の認証情報を設定する必要はある?

いいえ。 mtmtnao-handson Organization 内にリポジトリを作成すれば、Organization Secrets が自動で使用されます。

デプロイにどれくらい時間がかかる?

プッシュしてから約1〜2分でデプロイ完了します。Actions タブで進捗を確認できます。

ポータルにカードが表示されない
  1. handson-meta.json が存在するか確認
  2. enabled: true になっているか確認
  3. ポータルのワークフローを手動実行:
    gh workflow run deploy.yml --repo mtmtnao-handson/aws-handson-portal
    
画像を追加したい

docs/assets/images/ に画像を配置し、Markdown で参照:

![説明](assets/images/screenshot.png)

コードブロックにファイル名を表示したい
```python title="handler.py"
def lambda_handler(event, context):
    return {"statusCode": 200}
```

Reference