Gitpodは、GitHub・GitLab・Bitbuketと連携できるオンラインIDEです。
本記事は、GitHubと連携していることを前提にしています。 GitHubと連携すると、リポジトリごとにGitPodにWorkspaceが割り当てることができます。
Workspaceは、おもに2つのファイルを使ってセットアップします。
.gitpod.Dockerfile
.gitpod.yml
FROM gitpod/workspace-mysql
ENV APACHE_DOCROOT_IN_REPO="public"
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
&& chmod +x wp-cli.phar \
&& sudo mv wp-cli.phar /usr/bin/wp
gitpod/workspace-mysql
を使用gitpod/workspace-mysql
は、各種言語(PHP含む)+ ApacheにMySQLを含んだイメージ/etc/apache2/apache2.conf
にDocumentRoot "${GITPOD_REPO_ROOT}/${APACHE_DOCROOT_IN_REPO}"
で指定APACHE_DOCROOT_IN_REPO
にpublic
を設定image:
file: .gitpod.Dockerfile
ports:
- port: 8001
onOpen: open-preview
- port: 3306
onOpen: ignore
tasks:
- init: >
mkdir -p /workspace/wordpress-gitpod/public &&
cd /workspace/wordpress-gitpod/public &&
wp core download --locale=ja --path=/workspace/wordpress-gitpod/public &&
wp core config --dbname=wp_sample --dbuser=root --dbpass='' --dbhost=localhost --dbprefix=wp_ &&
wp db create &&
wp core install --url=$(gp url 8001) --title=SiteTitle --admin_user=admin --admin_password=password --admin_email=my@email.com &&
echo 'if (strpos($_SERVER["HTTP_X_FORWARDED_PROTO"], "https") !== false) $_SERVER["HTTPS"] = "on";' >> wp-config.php
command: apachectl start
- command: gp await-port 8001 && gp preview $(gp url 8001)
tasks
プロパティについては以下を参照。
https://www.gitpod.io/docs/config-start-tasks/
.gitpod.ymlの簡単なメモを記載します。
gp rul 8001
といったスニペットで取得/ect/apache2/apache2.conf
で確認(Listen *:8001
)wp core install
のurl
オプションは$(gp url 8001)
を指定wp_options
テーブルのsiteurl
、home
ともにプレビュー用URLが設定if (strpos($_SERVER["HTTP_X_FORWARDED_PROTO"], "https") !== false) $_SERVER["HTTPS"] = "on";