Composer対応
All checks were successful
Helm Chart Release / release-chart (push) Successful in 12s

This commit is contained in:
2026-02-06 02:03:52 +00:00
parent 6c4f7c0bf2
commit 58c02e47a9

View File

@@ -34,23 +34,116 @@ spec:
- sh - sh
- -c - -c
- | - |
echo "Starting PHP-FPM with conditional logic..." echo "Starting PHP-FPM setup process..."
{{- if or .Values.selenium.enabled .Values.externalDatabase.enabled }}
( {{- if or .Values.composer.enabled .Values.selenium.enabled .Values.externalDatabase.enabled }}
{{- if .Values.selenium.enabled }} # ========================================
echo "Installing selenium dependencies..." # APKパッケージのインストール
apk add --no-cache curl zip libzip-dev && \ # ========================================
docker-php-ext-install zip && \ APK_PACKAGES=""
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
composer require php-webdriver/webdriver {{- if or .Values.composer.enabled .Values.selenium.enabled }}
{{- end }} # Composer本体に必要なパッケージ
{{- if .Values.externalDatabase.enabled }} APK_PACKAGES="$APK_PACKAGES curl zip libzip-dev"
echo "Installing pdo_mysql for PHP 8.4 Alpine..."
apk add --no-cache mysql-client mysql-dev
docker-php-ext-install pdo_mysql
{{- end }}
)
{{- end }} {{- end }}
{{- if .Values.externalDatabase.enabled }}
# MySQL/MariaDB接続に必要なパッケージ
APK_PACKAGES="$APK_PACKAGES mysql-client mysql-dev"
{{- end }}
{{- if .Values.composer.additionalApkPackages }}
# ユーザー指定の追加APKパッケージ
{{- range .Values.composer.additionalApkPackages }}
APK_PACKAGES="$APK_PACKAGES {{ . }}"
{{- end }}
{{- end }}
if [ -n "$APK_PACKAGES" ]; then
echo "Installing APK packages: $APK_PACKAGES"
apk add --no-cache $APK_PACKAGES
fi
# ========================================
# PHP拡張のインストール
# ========================================
{{- if or .Values.composer.enabled .Values.selenium.enabled }}
echo "Installing PHP zip extension..."
docker-php-ext-install zip
{{- end }}
{{- if .Values.externalDatabase.enabled }}
echo "Installing pdo_mysql extension..."
docker-php-ext-install pdo_mysql
{{- end }}
{{- if .Values.composer.additionalPhpExtensions }}
echo "Installing additional PHP extensions..."
{{- range .Values.composer.additionalPhpExtensions }}
docker-php-ext-install {{ . }}
{{- end }}
{{- end }}
# ========================================
# Composerのインストールと実行
# ========================================
{{- if or .Values.composer.enabled .Values.selenium.enabled }}
echo "Installing Composer..."
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
cd /var/www/html
{{- if .Values.composer.enabled }}
# ユーザー定義のComposer設定
{{- if .Values.composer.useComposerJson }}
# composer.jsonファイルを使用
echo "Creating composer.json from values..."
cat > composer.json << 'COMPOSER_JSON_EOF'
{{ .Values.composer.composerJson }}
COMPOSER_JSON_EOF
{{- if .Values.composer.composerLock }}
echo "Creating composer.lock from values..."
cat > composer.lock << 'COMPOSER_LOCK_EOF'
{{ .Values.composer.composerLock }}
COMPOSER_LOCK_EOF
{{- end }}
echo "Running composer install..."
composer install {{ .Values.composer.installOptions }}
{{- else if .Values.composer.packages }}
# パッケージリストから直接インストール
echo "Installing Composer packages..."
{{- range .Values.composer.packages }}
composer require {{ . }}
{{- end }}
{{- if .Values.composer.installOptions }}
# オプティマイズ実行
composer install {{ .Values.composer.installOptions }}
{{- end }}
{{- else }}
# composer.jsonが既に存在する場合はそれを使用
if [ -f composer.json ]; then
echo "Found existing composer.json, running composer install..."
composer install {{ .Values.composer.installOptions }}
else
echo "No composer configuration found, skipping package installation"
fi
{{- end }}
{{- end }}
{{- if .Values.selenium.enabled }}
# Selenium用のパッケージインストールレガシー互換性
echo "Installing Selenium WebDriver package..."
composer require php-webdriver/webdriver
{{- end }}
{{- end }}
{{- end }}
echo "Setup complete, starting PHP-FPM..."
php-fpm php-fpm
ports: ports:
- containerPort: 9000 # PHP-FPMは9000ポートでリッスン - containerPort: 9000 # PHP-FPMは9000ポートでリッスン
@@ -58,6 +151,10 @@ spec:
- name: app-storage - name: app-storage
mountPath: /var/www/html mountPath: /var/www/html
subPath: html subPath: html
{{- if and .Values.composer.enabled .Values.composer.useComposerJson }}
- name: composer-config
mountPath: /tmp/composer-init
{{- end }}
env: env:
{{- if .Values.externalDatabase.enabled }} {{- if .Values.externalDatabase.enabled }}
- name: DB_HOST - name: DB_HOST
@@ -101,3 +198,8 @@ spec:
- name: nginx-config - name: nginx-config
configMap: configMap:
name: {{ include "phpfpm.fullname" . }}-nginx-config name: {{ include "phpfpm.fullname" . }}-nginx-config
{{- if and .Values.composer.enabled .Values.composer.useComposerJson }}
- name: composer-config
configMap:
name: {{ include "phpfpm.fullname" . }}-composer-config
{{- end }}