mirror of
https://github.com/Dokploy/templates
synced 2025-06-26 18:16:07 +00:00
feat: add GitHub Actions workflows for build and deploy preview
- Introduced a new workflow for building the preview site and uploading build artifacts. - Added a deployment workflow to Cloudflare Pages triggered by the successful completion of the build workflow. - Configured Node.js and pnpm for dependency management and build processes.
This commit is contained in:
37
.github/workflows/build-preview.yml
vendored
Normal file
37
.github/workflows/build-preview.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
name: Build Preview Deployment
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types: [opened, synchronize]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-preview:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
name: Build Preview Site and Upload Build Artifact
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: '20'
|
||||||
|
|
||||||
|
- name: Setup pnpm
|
||||||
|
uses: pnpm/action-setup@v2
|
||||||
|
with:
|
||||||
|
version: 8
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
working-directory: app
|
||||||
|
run: pnpm install
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
working-directory: app
|
||||||
|
run: pnpm build
|
||||||
|
|
||||||
|
- name: Upload build artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: preview-build
|
||||||
|
path: app/dist
|
||||||
38
.github/workflows/deploy-preview.yml
vendored
Normal file
38
.github/workflows/deploy-preview.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
name: Upload Preview Deployment
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows: ['Build Preview Deployment']
|
||||||
|
types:
|
||||||
|
- completed
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
actions: read
|
||||||
|
deployments: write
|
||||||
|
contents: read
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy-preview:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
||||||
|
name: Deploy Preview to Cloudflare Pages
|
||||||
|
steps:
|
||||||
|
- name: Download build artifact
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
id: preview-build-artifact
|
||||||
|
with:
|
||||||
|
name: preview-build
|
||||||
|
path: build
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run-id: ${{ github.event.workflow_run.id }}
|
||||||
|
|
||||||
|
- name: Deploy to Cloudflare Pages
|
||||||
|
uses: AdrianGonz97/refined-cf-pages-action@v1
|
||||||
|
with:
|
||||||
|
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
githubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
projectName: ${{ secrets.CLOUDFLARE_PROJECT_NAME }}
|
||||||
|
deploymentName: Preview
|
||||||
|
directory: ${{ steps.preview-build-artifact.outputs.download-path }}
|
||||||
Reference in New Issue
Block a user