Deploy no GitHub Pages
Usar a CLI do LikeC4
Seção intitulada “Usar a CLI do LikeC4”Prefira usar a CLI do LikeC4 diretamente nos seus scripts, pois ela oferece mais controle.
Exemplo de workflow (ele usa bun para acelerar a preparação, mas você pode usar o runtime que preferir):
# Sample workflow for building and deploying a website to GitHub Pagesname: Deploy Pages
on: # Runs on pushes targeting the default branch push: branches: ["main"]
# Allows you to run this workflow manually from the Actions tab workflow_call: workflow_dispatch:
# Sets default permissions of the GITHUB_TOKENpermissions: contents: read
# Allow only one concurrent deployment, skipping runs queued between the run in progress and the latest queued.# However, do NOT cancel in-progress runs, as we want to allow these production deployments to be completed.concurrency: group: "pages" cancel-in-progress: false
jobs: # Build job build-pages: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: oven-sh/setup-bun@v2
- uses: actions/configure-pages@v4 id: pages
- name: build run: | bunx likec4@latest build \ --base "${{ steps.pages.outputs.base_path || '/' }}" \ --output dist
- name: upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./dist
# Deployment job deploy-pages: permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build-pages steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4Workflow do GitHub Actions
Seção intitulada “Workflow do GitHub Actions”Use a LikeC4 GitHub Action para gerar e publicar um site estático no GitHub Pages.
# Sample workflow for building and deploying a website to GitHub Pagesname: Deploy Pages
on: # Runs on pushes targeting the default branch and c4 files push: branches: ["main"]
# Sets default permissions of the GITHUB_TOKENpermissions: contents: read
# Allow only one concurrent deployment, skipping runs queued between the run in progress and the latest queued.# However, do NOT cancel in-progress runs, as we want to allow these production deployments to be completed.concurrency: group: "pages" cancel-in-progress: false
jobs: # Build job build-pages: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v5
- name: Setup Pages id: pages uses: actions/configure-pages@v4
- name: Build uses: likec4/actions@v1 with: action: build output: dist # required if you don't set a custom domain for the repository # https://docs.github.com/en/pages/getting-started-with-github-pages/about-github-pages#types-of-github-pages-sites base: ${{ steps.pages.outputs.base_path }} likec4-version: latest
- name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./dist
# Deployment job deploy-pages: permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest needs: build-pages steps: - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4