Added deploy to staging
This commit is contained in:
parent
4817658862
commit
fb05a38a96
|
@ -15,9 +15,12 @@ variables:
|
|||
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
|
||||
|
||||
before_script:
|
||||
# Fix permissions after gitlab messed them up
|
||||
- find . -type f -exec chmod 644 {} \;
|
||||
- find . -type d -exec chmod 755 {} \;
|
||||
# Install required Packages
|
||||
- apt-get update -yqq
|
||||
- apt-get install -yqq git unzip mysql-client
|
||||
- apt update -yqq
|
||||
- apt install -yqq git unzip mysql-client
|
||||
- docker-php-ext-install pdo pdo_mysql gettext
|
||||
# Install xdebug
|
||||
- pecl install xdebug
|
||||
|
@ -45,3 +48,43 @@ test:7.0:
|
|||
test:7.1:
|
||||
image: php:7.1
|
||||
<<: *test_definition
|
||||
|
||||
deploy_staging:
|
||||
stage: deploy
|
||||
only:
|
||||
- master
|
||||
script:
|
||||
- |-
|
||||
if [ -z "${SSH_PRIVATE_KEY}" ] || [ -z "${REMOTE}" ] || [ -z "${REMOTE_PATH}" ]; then
|
||||
echo "Skipping deployment";
|
||||
exit
|
||||
fi
|
||||
- mkdir -p ~/.ssh
|
||||
- echo "$SSH_PRIVATE_KEY" | sed -e 's/\r//g' > ~/.ssh/id_ed25519
|
||||
- chmod 600 ~/.ssh/id_ed25519
|
||||
- apt update && apt install -yqq rsync openssh-client
|
||||
- /usr/local/bin/composer --no-ansi install --no-dev
|
||||
- /usr/local/bin/composer --no-ansi dump-autoload --optimize
|
||||
- echo "syncing ${PWD}/ to ${REMOTE}:${REMOTE_PATH}/${CI_JOB_ID}-${CI_COMMIT_SHA}/"
|
||||
- |-
|
||||
rsync -vAax --exclude '.git*' --exclude .composer/ \
|
||||
-e "ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
|
||||
./ "${REMOTE}:${REMOTE_PATH}/${CI_JOB_ID}-${CI_COMMIT_SHA}/"
|
||||
- |-
|
||||
ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "${REMOTE}" "
|
||||
set -e
|
||||
|
||||
if [[ -f \"${REMOTE_PATH}/current/config/config.php\" ]]; then
|
||||
echo \"Config backup\"
|
||||
cp \"${REMOTE_PATH}/current/config/config.php\" config.php
|
||||
fi
|
||||
|
||||
echo \"Changing symlink\"
|
||||
unlink \"${REMOTE_PATH}/current\"
|
||||
ln -s \"${REMOTE_PATH}/${CI_JOB_ID}-${CI_COMMIT_SHA}\" \"${REMOTE_PATH}/current\"
|
||||
|
||||
if [[ -f config.php ]]; then
|
||||
echo \"Restoring config\"
|
||||
cp config.php \"${REMOTE_PATH}/current/config/config.php\"
|
||||
fi
|
||||
"
|
||||
|
|
Loading…
Reference in New Issue