Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- image: lorisleiva/laravel-docker:latest
- .init_ssh: &init_ssh |
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- [[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- # Replace the last line with the following lines if you'd rather
- # leave StrictHostKeyChecking enabled (replace yourdomain.com):
- #
- # ssh-keyscan yourdomain.com >> ~/.ssh/known_hosts
- # chmod 644 ~/.ssh/known_hosts
- .change_file_permissions: &change_file_permissions |
- find . -type f -not -path "./vendor/*" -exec chmod 664 {} \;
- find . -type d -not -path "./vendor/*" -exec chmod 775 {} \;
- .prepare_env_file: &prepare_env_file |
- cat > .env <<EOF
- APP_ENV="production"
- APP_KEY="$APP_KEY"
- APP_DEBUG=false
- APP_LOG_LEVEL="debug"
- APP_URL="$APP_URL"
- LOG_CHANNEL="stack"
- DB_CONNECTION="mysql"
- DB_HOST="$DB_HOST"
- DB_PORT=3306
- DB_DATABASE="$DB_DATABASE"
- DB_USERNAME="$DB_USERNAME"
- DB_PASSWORD="$DB_PASSWORD"
- SESSION_LIFETIME=120
- QUEUE_CONNECTION="database"
- MAIL_DRIVER="sparkpost"
- SPARKPOST_SECRET="$SPARKPOST_SECRET"
- MEDIA_DEFAULT_DISK="$MEDIA_DEFAULT_DISK"
- FILESYSTEM_DRIVER="$FILESYSTEM_DRIVER"
- AZURE_STORAGE_NAME="$AZURE_STORAGE_NAME"
- AZURE_STORAGE_KEY="$AZURE_STORAGE_KEY"
- AZURE_STORAGE_CONTAINER="$AZURE_STORAGE_CONTAINER"
- AFRICAS_TALKING_USERNAME="$AFRICAS_TALKING_USERNAME"
- AFRICAS_TALKING_KEY="$AFRICAS_TALKING_KEY"
- ADMIN_NOTIFICATION_EMAIL="$ADMIN_NOTIFICATION_EMAIL"
- ADMIN_NOTIFICATION_PHONE="$ADMIN_NOTIFICATION_PHONE"
- SENTRY_LARAVEL_DSN="$SENTRY_LARAVEL_DSN"
- EOF
- # echo -e "APP_ENV=production
- # APP_KEY="$APP_KEY"
- # APP_DEBUG=false
- # APP_LOG_LEVEL=debug
- # APP_URL="$APP_URL"
- # LOG_CHANNEL=stack
- # DB_CONNECTION=mysql
- # DB_HOST="$DB_HOST"
- # DB_PORT=3306
- # DB_DATABASE="$DB_DATABASE"
- # DB_USERNAME="$DB_USERNAME"
- # DB_PASSWORD="$DB_PASSWORD"
- # SESSION_LIFETIME=120
- # QUEUE_CONNECTION=database
- # MAIL_DRIVER=sparkpost
- # SPARKPOST_SECRET="$SPARKPOST_SECRET"
- # MEDIA_DEFAULT_DISK="$MEDIA_DEFAULT_DISK"
- # FILESYSTEM_DRIVER="$FILESYSTEM_DRIVER"
- # AZURE_STORAGE_NAME="$AZURE_STORAGE_NAME"
- # AZURE_STORAGE_KEY="$AZURE_STORAGE_KEY"
- # AZURE_STORAGE_CONTAINER="$AZURE_STORAGE_CONTAINER"
- # AFRICAS_TALKING_USERNAME="$AFRICAS_TALKING_USERNAME"
- # AFRICAS_TALKING_KEY="$AFRICAS_TALKING_KEY"
- # ADMIN_NOTIFICATION_EMAIL="$ADMIN_NOTIFICATION_EMAIL"
- # ADMIN_NOTIFICATION_PHONE="$ADMIN_NOTIFICATION_PHONE"
- # SENTRY_LARAVEL_DSN="$SENTRY_LARAVEL_DSN"
- # " > .env
- #composer:
- # stage: build
- # cache:
- # key: ${CI_COMMIT_REF_SLUG}-composer
- # paths:
- # - vendor/
- # script:
- # - *prepare_env_file
- # - composer install --prefer-dist --no-ansi --no-interaction --no-progress --no-scripts --ignore-platform-reqs
- # artifacts:
- # expire_in: 1 day
- # paths:
- # - vendor/
- # - .env
- # only:
- # - master
- production:
- stage: deploy
- cache:
- key: ${CI_COMMIT_REF_SLUG}-composer
- paths:
- - vendor/
- script:
- - *init_ssh
- - *change_file_permissions
- - *prepare_env_file
- - composer install --prefer-dist --no-ansi --no-interaction --no-progress --no-scripts --ignore-platform-reqs
- - php artisan deploy <your domain> -s upload
- artifacts:
- expire_in: 1 day
- paths:
- - vendor/
- environment:
- name: production
- url: <Your domain - this is configured in gitlab environments>
- when: manual
- only:
- - master
Add Comment
Please, Sign In to add comment