Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
125 changes: 125 additions & 0 deletions .github/workflows/deploy-to-ionos.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
# Please do not edit this file.
# More information under https://docs.ionos.space/docs/github-actions-customization/
# version: 2022-07-21

name: "Deploy Now: Deploy to IONOS"

on:
workflow_dispatch:
inputs:
version:
required: true
type: string
project-id:
required: true
type: string
branch-id:
required: true
type: string
deployment-ids:
require: true
type: string
push:
path:
- ./.github/workflows/deploy-to-ionos.yaml

concurrency: ${{ github.ref }}

jobs:
deploy-to-ionos:
if: ${{ github.event_name == 'workflow_dispatch' }}
runs-on: ubuntu-latest
permissions:
actions: read
strategy:
matrix:
deployment-id: ${{ fromJson(inputs.deployment-ids) }}
steps:
- name: Update deployment status
uses: ionos-deploy-now/project-action@v1
with:
api-key: ${{ secrets.IONOS_API_KEY }}
service-host: api-eu.ionos.space
project-id: ${{ inputs.project-id }}
branch-id: ${{ inputs.branch-id }}
deployment-id: ${{ matrix.deployment-id }}
action: update-status
status: in_progress

- name: Retrieve stored deployment
uses: ionos-deploy-now/artifact-action@v1
with:
api-key: ${{ secrets.IONOS_API_KEY }}
service-host: api-eu.ionos.space
project-id: ${{ inputs.project-id }}
branch-id: ${{ inputs.branch-id }}
version: ${{ inputs.version }}
action: download

- name: Fetch deployment info
uses: ionos-deploy-now/project-action@v1
id: deployment
with:
api-key: ${{ secrets.IONOS_API_KEY }}
service-host: api-eu.ionos.space
project-id: ${{ inputs.project-id }}
branch-id: ${{ inputs.branch-id }}
deployment-id: ${{ matrix.deployment-id }}
action: retrieve-info

- name: Render templates
uses: ionos-deploy-now/template-renderer-action@v2
id: template
with:
deployment-id: ${{ matrix.deployment-id }}
data: "[${{ steps.deployment.outputs.template-variables }}, ${{ toJson(secrets) }}]"
input-directory: deployment
output-directory: deployment
intermediate-data-file: deployment/.template-renderer-data

- name: Render real site-url to all files
run: |
for file in `grep -rl 'https://IONOS_DEPLOY_NOW_SITE_URL' .`; do
sed -i $file -e 's|https://IONOS_DEPLOY_NOW_SITE_URL|${{ fromJson(steps.deployment.outputs.info).site-url }}|g'
done

- name: Render SSH user secret name
run: echo SSH_USERNAME_SECRET=IONOS_DEPLOYMENT_`echo ${{ matrix.deployment-id }} | tr '[:lower:]' '[:upper:]' | tr '-' '_'`_SSH_USERNAME >> $GITHUB_ENV

- name: Deploy to IONOS
uses: ionos-deploy-now/deploy-to-ionos-action@v2
with:
api-key: ${{ secrets.IONOS_API_KEY }}
service-host: api-eu.ionos.space
project-id: ${{ inputs.project-id }}
branch-id: ${{ inputs.branch-id }}
deployment-id: ${{ matrix.deployment-id }}
deployment-info: ${{ steps.deployment.outputs.info }}
ssh-user: ${{ secrets[env.SSH_USERNAME_SECRET] }}
ssh-key: ${{ secrets.IONOS_SSH_KEY }}

- name: Update deployment status
if: ${{ always() }}
uses: ionos-deploy-now/project-action@v1
with:
api-key: ${{ secrets.IONOS_API_KEY }}
service-host: api-eu.ionos.space
project-id: ${{ inputs.project-id }}
branch-id: ${{ inputs.branch-id }}
deployment-id: ${{ matrix.deployment-id }}
action: update-status
status: ${{ job.status }}

notify-deployment-finished:
needs: deploy-to-ionos
if: ${{ github.event_name == 'workflow_dispatch' && always() }}
runs-on: ubuntu-latest
steps:
- name: Notify all deployments finished
uses: ionos-deploy-now/project-action@v1
with:
api-key: ${{ secrets.IONOS_API_KEY }}
service-host: api-eu.ionos.space
project-id: ${{ inputs.project-id }}
branch-id: ${{ inputs.branch-id }}
action: set-deployments-finished
36 changes: 18 additions & 18 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# /.phpunit.cache
# /node_modules
/.phpunit.cache
/node_modules
# /public/build
# /public/hot
# /public/storage
# /storage/*.key
# /vendor
# .env
# .env.backup
# .env.production
# .phpunit.result.cache
# Homestead.json
# Homestead.yaml
# auth.json
# npm-debug.log
# yarn-error.log
# /.fleet
# /.idea
# /.vscode
/public/hot
/public/storage
/storage/*.key
/vendor
.env
.env.backup
.env.production
.phpunit.result.cache
Homestead.json
Homestead.yaml
auth.json
npm-debug.log
yarn-error.log
/.fleet
/.idea
/.vscode
6 changes: 6 additions & 0 deletions .htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/public
RewriteRule ^(.*)$ public/$1
</IfModule>
1 change: 1 addition & 0 deletions Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: cp .env.example .env && php artisan key:generate && heroku-php-apache2
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
"php": "^8.1",
"guzzlehttp/guzzle": "^7.2",
"intervention/image": "^2.7",
"kreait/firebase-php": "*",
"laravel/framework": "^10.10",
"laravel/sanctum": "^3.2",
"laravel/tinker": "^2.8"
Expand Down
Loading