PROGスクールナビ

DevOps入門|CI/CDパイプラインとGitHub Actionsの基礎

DevOpsは開発(Development)と運用(Operations)を統合してソフトウェアを高速にデリバリーするための考え方・実践です。エンジニアとして必須の知識です。

DevOpsとは?

  • 開発チームと運用チームの壁を取り除く文化・手法
  • 頻繁に小さな変更をデプロイして品質を高める
  • 自動化(テスト・ビルド・デプロイ)でヒューマンエラーを減らす
  • 主要ツール:Docker・Kubernetes・CI/CDツール・Terraform

CI/CD とは

用語意味内容
CI(継続的インテグレーション)Continuous Integrationコードをマージするたびにテスト・ビルドを自動実行
CD(継続的デリバリー)Continuous Deliveryテスト通過後に本番環境に自動デプロイできる状態
CD(継続的デプロイメント)Continuous Deploymentテスト通過後に自動で本番にデプロイ

GitHub ActionsでのシンプルなCI設定

# .github/workflows/ci.yml
name: CI

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    
    steps:
    - uses: actions/checkout@v4
    
    - name: Node.jsのセットアップ
      uses: actions/setup-node@v4
      with:
        node-version: '20'
    
    - name: 依存関係のインストール
      run: npm ci
    
    - name: テスト実行
      run: npm test
    
    - name: ビルド確認
      run: npm run build

自動デプロイ(Vercelへの連携例)

# .github/workflows/deploy.yml
name: Deploy to Vercel

on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    
    - name: Vercelにデプロイ
      run: npx vercel --prod --token ${{ secrets.VERCEL_TOKEN }}
      env:
        VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}

DevOpsで使われる主要ツール

  • CI/CD:GitHub Actions・CircleCI・GitLab CI
  • コンテナ:Docker・Kubernetes
  • IaC(コードでインフラ管理):Terraform・Ansible
  • 監視:Datadog・Prometheus・Grafana
  • ログ管理:Elasticsearch・Fluentd・Kibana(EFKスタック)

DevOpsエンジニアのキャリアと年収

レベル年収目安
DevOps初級(自動化できる)500〜650万円
DevOps中級(k8s・Terraform活用)700〜900万円
DevOps上級(アーキテクト設計)900〜1,500万円

まとめ

DevOpsはGitHub Actions→Docker→Kubernetes→Terraformの順で学ぶのが最短ルートです。CI/CDを自分のプロジェクトに組み込んで実際に動かしてみることが理解の近道です。

📚 プログラミング初心者におすすめの本

🛒 楽天で人気のプログラミング入門書