各言語/フレームワークの安定版バージョン確認ガイド。 LTSの考え方、EOLチェック、アップグレード判断をサポート。
技術スタックのバージョンを最適な状態に維持し、セキュリティリスクと技術的負債を最小化する。
複数の技術スタックがあるプロジェクトの場合、並列でサブエージェントに監査を委譲することで効率的にチェックできます。
並列監査の実施方法:
Taskツールで複数のサブエージェントを並列起動し、各技術スタックを同時に監査:
各技術スタックの監査結果を統合し、全体のバージョン状況とEOLリスクをレポートします。
メリット:
# 現在のLTSバージョン確認
curl -s https://nodejs.org/dist/index.json | jq '[.[] | select(.lts != false)] | .[0]'
# ローカルバージョン確認
node --version
# nvm使用時の最新LTS
nvm ls-remote --lts | tail -1
# LTSスケジュール確認
# https://nodejs.org/en/about/releases/
# - 偶数バージョン(18, 20, 22): LTS
# - 奇数バージョン(19, 21): Current(短期サポート)
LTS例:
# 公式リリーススケジュール
# https://devguide.python.org/versions/
# ローカルバージョン確認
python --version
python3 --version
# pyenv使用時
pyenv install --list | grep -E '^\s+3\.'
pyenv install --list | grep -v '[a-zA-Z]' | grep '^\s+3\.' | tail -5
LTS例:
# LTSバージョン: 8, 11, 17, 21
java -version
# SDKMAN使用時
sdk list java | grep -E '(8|11|17|21)\.'
# OpenJDK LTS確認
# https://openjdk.org/
LTS例:
# 公式サポート状況確認
# https://spring.io/projects/spring-boot#support
# 現在のバージョン確認
./gradlew dependencies | grep spring-boot
# または pom.xml / build.gradle から確認
grep 'spring-boot' pom.xml
サポート例:
# バージョン確認
php --version
# サポート状況確認
# https://www.php.net/supported-versions.php
サポート例:
| 技術 | LTS確認方法 |
|---|---|
| React | GitHub releases確認 (https://github.com/facebook/react/releases) |
| Vue.js | https://v3.vuejs.org/guide/migration/introduction.html |
| Angular | https://angular.io/guide/releases |
| Rails | https://rubyonrails.org/ |
| Django | https://www.djangoproject.com/download/ |
# Web API経由でEOL情報を取得
curl -s https://endoflife.date/api/nodejs.json | jq '.[] | select(.eol | contains("2025"))'
curl -s https://endoflife.date/api/python.json | jq '.[] | select(.eol | contains("2025"))'
curl -s https://endoflife.date/api/java.json | jq '.[] | select(.eol | contains("2025"))'
Phase 1: 調査(1週間)
- Breaking changesの確認
- 依存パッケージの互換性確認
- テスト計画策定
Phase 2: 開発環境移行(1週間)
- Node.js 20インストール
- ローカルテスト実行
- 問題の洗い出しと修正
Phase 3: ステージング環境移行(1週間)
- CI/CD設定変更
- E2Eテスト実行
- パフォーマンステスト
Phase 4: 本番環境移行(1週間)
- ブルーグリーンデプロイメント
- モニタリング強化
- ロールバック準備
即座に実施可能:
1. ローカルでテスト
2. CI/CD通過確認
3. 本番デプロイ
name: Version Audit
on:
schedule:
- cron: '0 0 * * 1' # 毎週月曜日
workflow_dispatch:
jobs:
version-audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Check Node.js version
run: |
CURRENT=$(node --version | sed 's/v//')
LATEST_LTS=$(curl -s https://nodejs.org/dist/index.json | jq -r '[.[] | select(.lts != false)] | .[0].version' | sed 's/v//')
echo "Current: $CURRENT"
echo "Latest LTS: $LATEST_LTS"
if [ "$CURRENT" != "$LATEST_LTS" ]; then
echo "⚠️ Node.js update available: $CURRENT → $LATEST_LTS"
fi