TechCraft – エンジニアのためのスキルアップメモ

エンジニアのスキルアップを少しでも加速する技術ブログ

Jenkins+SVNの自動デプロイ環境構築ガイド

Jenkins+SVNの自動デプロイ環境構築ガイド

1. はじめに

Jenkinsを活用し、SubversionSVN)からソースコードを取得して自動デプロイする環境を構築します。本ガイドでは、以下の流れで設定を進めます。

  1. Jenkinsのインストール
  2. SVNプラグインの導入
  3. ビルドジョブの作成
  4. デプロイスクリプトの設定
  5. 自動化の実行確認

2. Jenkinsのインストール

2.1. Jenkinsのダウンロードとセットアップ

Jenkinsは公式サイトからダウンロードできます。

Jenkins公式ダウンロードページ

LinuxUbuntu)の場合:

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins -y

Jenkinsを起動:

sudo systemctl start jenkins
sudo systemctl enable jenkins

ブラウザで http://<サーバーIP>:8080 にアクセスし、初期セットアップを完了します。

2.2. Windows環境でのセットアップ

  1. Jenkins公式サイト から .msi をダウンロード
  2. インストーラを実行し、インストール
  3. http://localhost:8080 にアクセスしてセットアップ

3. SVNプラグインの導入

3.1. JenkinsにSVNプラグインをインストール

  1. Jenkinsの管理プラグインの管理利用可能なプラグイン
  2. Subversion プラグインを検索し、インストール
  3. Jenkinsを再起動

3.2. SVNリポジトリの登録

  1. Jenkinsの管理グローバルツール設定
  2. Subversionの設定SVNのパスを指定(例: C:\Program Files\TortoiseSVN\bin\svn.exe

4. Jenkinsジョブの作成

4.1. 新規ジョブの作成

  1. 新規ジョブの作成
  2. フリースタイルプロジェクト を選択
  3. ソースコード管理Subversion を選択
  4. リポジトリURL を設定(例: https://svn.example.com/project/trunk
  5. 認証情報 を追加(SVNユーザー名・パスワード)

5. デプロイスクリプトの設定

5.1. シェルスクリプトを使ったデプロイ

ビルド後の処理として、サーバーへコードを配置するスクリプトを作成します。

Linux環境:

#!/bin/bash
TARGET_DIR="/var/www/html"
SVN_REPO="https://svn.example.com/project/trunk"
SVN_USER="username"
SVN_PASS="password"

echo "Updating SVN repository..."
svn checkout --username $SVN_USER --password $SVN_PASS $SVN_REPO $TARGET_DIR --force
chown -R www-data:www-data $TARGET_DIR

Windows環境(PowerShell):

$TargetDir = "C:\inetpub\wwwroot"
$SvnRepo = "https://svn.example.com/project/trunk"
$SvnUser = "username"
$SvnPass = "password"

Write-Output "Updating SVN repository..."
svn checkout --username $SvnUser --password $SvnPass $SvnRepo $TargetDir --force

5.2. Jenkinsジョブにスクリプトを追加

  1. ビルド手順の追加シェルの実行
  2. 上記のスクリプトを貼り付け

6. 自動化の実行確認

6.1. 手動ビルドの実行

  1. Jenkinsのダッシュボード → 作成したジョブを選択
  2. 今すぐビルド をクリック
  3. コンソール出力 でログを確認

6.2. SVNコミット時の自動デプロイ

  1. ジョブの設定ビルドのトリガー
  2. SCMの変更をポーリング にチェックを入れる
  3. H/5 * * * *(5分おき)を設定
  4. 保存 してコミットを試す

7. まとめ

JenkinsとSVNを使った自動デプロイ環境を構築しました。これにより、開発者がコードをSVNにコミットするだけで、自動的にデプロイが実行されるようになります。

次に学ぶべきトピック

  • Jenkinsパイプライン を使った高度なデプロイ管理
  • Dockerコンテナを利用したCI/CD
  • AnsibleやTerraformとの連携

このガイドを参考に、効率的なデプロイ環境を構築してください!

書籍

・【改訂新版】C言語ではじめるRaspberry Pi徹底入門 https://amzn.to/4hXR1L7

・改訂新版 最短距離でゼロからしっかり学ぶ Python 入門 https://amzn.to/4hSKZLI

・ゼロからのOS自作入門 https://amzn.to/41jrJ3B

グランドマスター三冠のKaggleノートブック開発術 https://amzn.to/40ZILTR

その他

・AnkerMake M5C 3Dプリンター https://amzn.to/4gDu3b3

・ZEAKOC PLA Plus 3Dプリンター用フィラメント https://amzn.to/4hWiUmW