Last active
April 8, 2021 03:17
-
-
Save jamesfacts/45b8726b2b4418285fa3acc37988990c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FOLDER=wp-content/themes/ | |
if [ "production" == "${CI_ENVIRONMENT_NAME}" ]; then | |
WPE_INSTALL=prod_install | |
elif [ "staging" == "${CI_ENVIRONMENT_NAME}" ]; then | |
WPE_INSTALL=staging_install | |
else | |
WPE_INSTALL=dev_install | |
fi | |
# Make a theme folder | |
mkdir $THEME_NAME | |
shopt -s extglob | |
mv !(${THEME_NAME}) ${THEME_NAME} | |
mv .editorconfig ${THEME_NAME}/.editorconfig | |
mv .eslintrc ${THEME_NAME}/.eslintrc | |
rm -rf .git | |
rm -rf ${THEME_NAME}/.git | |
rm .gitignore | |
rm ${THEME_NAME}/.gitignore | |
# build a WP install / dir structure EXACTLY like WPE from root | |
##################################################################### | |
mkdir -p $FOLDER | |
mv .gitignoredeploy .gitignore | |
mv $THEME_NAME $FOLDER | |
# Git config while still at WP root | |
##################################################################### | |
git config --global user.email "${WPE_INSTALL}@${WPE_INSTALL}.com" | |
git config --global user.name "${WPE_INSTALL}" | |
git init | |
git remote add origin git@git.wpengine.com:${WPE_ENVIRONMENT}/${WPE_INSTALL}.git | |
ssh git@git.wpengine.com info | |
# build theme | |
##################################################################### | |
cd wp-content/themes/${THEME_NAME} | |
composer install --no-ansi --no-dev --no-interaction --optimize-autoloader --no-progress | |
yarn | |
yarn build:production | |
cd ../../../ | |
# push | |
##################################################################### | |
git add . | |
git status | |
git ls-tree -r master --name-only | |
git commit -m "Deployment Commit" | |
git push origin master --force |
ah cool, that is a clever solution! Putting this in my back pocket just in case. TBH I just manage premium composer packages manually, it's not a situation I run into often.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hey, Indeed, Github is way faster yeah, Gitlab's CI is slow AF unfortunately (especially cache).
Yes, you understood correctly. Of course, CI is meant to run on the server somewhere, that's why I'm rewritting. My other non-WP projects already have CI/CD set-up like this, just wasn't sure about Bedrock/Sage so I chimed in here.
One problem I see is also getting premium composer packages (currently hosted privately) and updated as required. That's why I was doing it from a local machine.
I did rewrite it now using gitlab's CI though, and works as expected. If it helps someone, I'm posting it here: https://github.com/trainoasis/deploy-wp-bedrock-sage-gitlab-ci/