# jamesives/github-pages-deploy-action

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jamesives-github-pages-deploy-action).**

4,583 stars · 423 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/JamesIves/github-pages-deploy-action
- Homepage: https://github.com/marketplace/actions/deploy-to-github-pages
- awesome-repositories: https://awesome-repositories.com/repository/jamesives-github-pages-deploy-action.md

## Topics

`action` `actions` `cicd` `continuous-delivery` `continuous-deployment` `continuous-integration` `deploy` `deployer` `deployment` `gh-pages` `ghpages` `github-action` `github-actions` `github-enterprise` `github-pages` `hacktoberfest` `static` `workflow` `workflow-configuration` `workflow-runs`

## Description

This is a GitHub Action designed to automate the deployment of production assets to GitHub Pages or other external repositories. It functions as a CI/CD deployment tool and Git branch synchronizer that mirrors a local directory of build artifacts to a remote branch.

The tool distinguishes itself by performing difference-based file pruning, which removes stale files from the destination branch that no longer exist in the source folder. It also supports cross-project workflows by allowing deployments to external repositories using personal access tokens or SSH keys.

The action covers broad capabilities for static site hosting and continuous delivery, including the synchronization of deployment folders and the export of deployment status variables to track whether a push succeeded or failed.

## Tags

### DevOps & Infrastructure

- [GitHub Pages Deployments](https://awesome-repositories.com/f/devops-infrastructure/deployment-management-strategies/static-site-deployments/portfolio-hosting/github-pages-deployments.md) — Automates the deployment of production assets to GitHub Pages to make websites publicly available. ([source](https://github.com/JamesIves/github-pages-deploy-action/blob/dev/.node-version))
- [GitHub Pages Deployments](https://awesome-repositories.com/f/devops-infrastructure/release-automation/github-release-automators/github-pages-deployments.md) — Automates the process of pushing production assets to GitHub Pages to make a website publicly available.
- [Web Publishing Pipelines](https://awesome-repositories.com/f/devops-infrastructure/ci-cd-pipeline-orchestration/web-publishing-pipelines.md) — Integrates build artifacts into a continuous delivery pipeline to automatically update a live website.
- [Secure Code Deployment](https://awesome-repositories.com/f/devops-infrastructure/deployment-management-strategies/execution-platforms-and-targets/deployment-environments/secure-code-deployment.md) — Securely pushes build artifacts to a target branch or external repository using tokens or SSH keys. ([source](https://github.com/JamesIves/github-pages-deploy-action))
- [Deployment Utilities](https://awesome-repositories.com/f/devops-infrastructure/deployment-utilities.md) — Provides a utility for automating the delivery of production-ready assets from a build pipeline to a hosting target.
- [Remote File Deployment](https://awesome-repositories.com/f/devops-infrastructure/remote-file-deployment.md) — Updates remote branches with local files while supporting exclusion patterns to preserve specific assets. ([source](https://github.com/JamesIves/github-pages-deploy-action/tree/dev))
- [Local-Remote Branch Synchronizers](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-utilities/branch-management-utilities/local-remote-branch-synchronizers.md) — Synchronizes a local directory of build artifacts with a remote Git branch to update the hosted site.
- [Repository Access Authentications](https://awesome-repositories.com/f/devops-infrastructure/deployment-access-controls/repository-access-authentications.md) — Uses personal access tokens and SSH keys to grant write access to target deployment repositories. ([source](https://github.com/JamesIves/github-pages-deploy-action/blob/dev/README.md))
- [Deployment Branch Cleanups](https://awesome-repositories.com/f/devops-infrastructure/deployment-branch-cleanups.md) — Automatically cleans up stale assets from the deployment branch to keep the production environment synchronized.
- [Stale Artifact Removal](https://awesome-repositories.com/f/devops-infrastructure/deployment-targets/stale-artifact-removal.md) — Prevents artifact accumulation by removing files from the target branch that no longer exist in the source. ([source](https://github.com/JamesIves/github-pages-deploy-action))
- [Directory-to-Branch Synchronizers](https://awesome-repositories.com/f/devops-infrastructure/version-control-management/version-control-utilities/branch-management-utilities/local-remote-branch-synchronizers/directory-to-branch-synchronizers.md) — Mirrors a local directory to a remote Git branch while removing stale files to ensure an exact match.

### Software Engineering & Architecture

- [GitHub Actions](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/workflow-automation-integrations/ci-cd-integrations/github-actions.md) — Implements a reusable workflow component that executes deployment tasks within the GitHub Actions ecosystem.

### Web Development

- [Static Site Hosting](https://awesome-repositories.com/f/web-development/static-site-hosting.md) — Manages the transition of compiled static files from a source directory to a hosting branch for web delivery.

### Development Tools & Productivity

- [Cross-Repository Deployments](https://awesome-repositories.com/f/development-tools-productivity/external-repository-integrations/cross-repository-deployments.md) — Enables cross-project workflows by pushing deployment content to external GitHub repositories. ([source](https://github.com/JamesIves/github-pages-deploy-action/tree/dev))
- [Deployment Payload Pruning](https://awesome-repositories.com/f/development-tools-productivity/glob-pattern-resolvers/deployment-asset-exclusions/deployment-payload-pruning.md) — Synchronizes deployment state by deleting files from the destination that no longer exist in the source. ([source](https://github.com/JamesIves/github-pages-deploy-action/blob/dev/README.md))
- [Remote Repository Syncing](https://awesome-repositories.com/f/development-tools-productivity/local-file-syncing/remote-repository-syncing.md) — Pushes build outputs from one GitHub repository to a different destination repository using secure authentication.
- [Deployment Branch Pruning](https://awesome-repositories.com/f/development-tools-productivity/unreferenced-file-pruning/deployment-branch-pruning.md) — Implements difference-based pruning to remove stale artifacts from the destination branch during deployment.

### Operating Systems & Systems Programming

- [Local-to-Remote Path Mapping](https://awesome-repositories.com/f/operating-systems-systems-programming/local-to-remote-path-mapping.md) — Maps a specific local build folder to the root of a remote deployment branch.

### Security & Cryptography

- [Token-Based Authentication](https://awesome-repositories.com/f/security-cryptography/security-and-access-control/token-based-authentication.md) — Supports authentication via GitHub personal access tokens and SSH keys for secure repository access.
