{"id":122540,"date":"2021-10-12T15:13:00","date_gmt":"2021-10-12T21:13:00","guid":{"rendered":"https:\/\/wpengine.com\/?post_type=support&#038;p=122540"},"modified":"2025-07-28T11:07:10","modified_gmt":"2025-07-28T17:07:10","slug":"github-action-deploy","status":"publish","type":"support","link":"https:\/\/wpengine.com\/support\/github-action-deploy\/","title":{"rendered":"GitHub Action for WP Engine Site Deployments"},"content":{"rendered":"\n<p>If you need to deploy code from a GitHub repo to WP Engine, this is a great option using GitHub Actions. Deploy a full site directory, a theme, plugin, or other directory with the SRC_PATH and REMOTE_PATH options. Other options include performing a PHP Lint, custom rsync flags, or clearing cache.<\/p>\n\n\n\n<p>This configuration uses WP Engine&#8217;s SSH Gateway, instead of WP Engine&#8217;s GitPush feature.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine\" target=\"_blank\" rel=\"noreferrer noopener\">View the full guide on GitHub here.<\/a><\/p>\n\n\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine#setup-instructions\"><\/a>Setup Instructions<\/h2>\n\n\n\n<p>Configuration requires three main steps: Connect Github and WP Engine, save the private and public SSH keys, and set up the local yml configuration to orchestrate the deploy.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>SSH PRIVATE KEY SETUP IN GITHUB<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/wpengine.com\/support\/ssh-keys-for-shell-access\/#Generate_New_SSH_Key\">Generate a new SSH key pair<\/a>,&nbsp;if you have not already done so.<\/li>\n\n\n\n<li>Add the&nbsp;<em>SSH Private Key<\/em>&nbsp;to your&nbsp;<a href=\"https:\/\/docs.github.com\/en\/actions\/security-guides\/encrypted-secrets#creating-encrypted-secrets-for-a-repository\" target=\"_blank\" rel=\"noreferrer noopener\">Repository Secrets<\/a>&nbsp;or your&nbsp;<a href=\"https:\/\/docs.github.com\/en\/actions\/security-guides\/encrypted-secrets#creating-encrypted-secrets-for-an-organization\" target=\"_blank\" rel=\"noreferrer noopener\">Organization Secrets<\/a>.<\/li>\n\n\n\n<li>Save the new secret &#8220;Name&#8221; as&nbsp;<code>WPE_SSHG_KEY_PRIVATE<\/code>.<\/li>\n<\/ul>\n\n\n\n<div style=\"color:#32373c;background-color:#00d1b2\" class=\"wp-block-genesis-blocks-gb-notice gb-font-size-18 gb-block-notice\" data-id=\"ad1157\"><div class=\"gb-notice-title\" style=\"color:#fff\"><p>NOTES<\/p><\/div><div class=\"gb-notice-text\" style=\"border-color:#00d1b2\">\n<ul class=\"wp-block-list\">\n<li>If using a GitHub Organization, adding the SSH key to the&nbsp;<a href=\"https:\/\/docs.github.com\/en\/actions\/security-guides\/encrypted-secrets#creating-encrypted-secrets-for-an-organization\">Organization Secrets<\/a>&nbsp;will allow all repos to reference the same SSH key for deploys using the method in the sample&nbsp;<code>main.yml<\/code>. The SSH Key also connects to all installs made available to its WP Engine User. One key can then effectively be used to deploy all projects to their respective sites on WP Engine. Less work. More deploys!<\/li>\n\n\n\n<li><a href=\"https:\/\/wpengine.com\/support\/ssh-gateway\/#SHA1\">SHA1 has been deprecated<\/a>. When generating SSH keys for continuous integration, use ED25519 formatting instead.<\/li>\n<\/ul>\n<\/div><\/div>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>SSH PUBLIC KEY SETUP IN WP ENGINE<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add&nbsp;<em>SSH Public Key<\/em>&nbsp;to WP Engine SSH Gateway Key settings.&nbsp;<a href=\"https:\/\/wpengine.com\/support\/ssh-gateway\/#Add_SSH_Key\">This Guide will show you how.<\/a><\/li>\n<\/ul>\n\n\n\n<div style=\"color:#32373c;background-color:#00d1b2\" class=\"wp-block-genesis-blocks-gb-notice gb-font-size-18 gb-block-notice\" data-id=\"10de4b\"><div class=\"gb-notice-title\" style=\"color:#fff\"><p>NOTE<\/p><\/div><div class=\"gb-notice-text\" style=\"border-color:#00d1b2\">\n<p>This Action DOES NOT utilize WP Engine GitPush or the GitPush SSH keys&nbsp;<a href=\"https:\/\/wpengine.com\/support\/git\/#Add_SSH_Key_to_User_Portal\">found here.<\/a><\/p>\n<\/div><\/div>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>YML SETUP<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Create&nbsp;<code>.github\/workflows\/main.yml<\/code>&nbsp;directory and file locally. Copy and paste the configuration from below, replacing the value under&nbsp;<code>branches:<\/code>&nbsp;and the value for&nbsp;<code>WPE_ENV:<\/code>.<\/li>\n\n\n\n<li>To deploy from another branch, simply create another yml file locally for that branch, such as&nbsp;<code>.github\/workflows\/stage.yml<\/code>&nbsp;and replace the values for&nbsp;<code>branches:<\/code>&nbsp;and&nbsp;<code>WPE_ENV:<\/code>&nbsp;for that workflow.<\/li>\n<\/ul>\n\n\n\n<p>This provides the ability to perform a different workflow for different branches\/environments. Consult&nbsp;&#8220;<a href=\"https:\/\/wpengine.com\/support\/github-action-deploy\/#Environment_Variables_and_Secrets\">Environment Variables &amp; Secrets<\/a>&#8221;&nbsp;for more available options.<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>Git push your site GitHub repo. The action will do the rest!<\/strong><\/li>\n<\/ol>\n\n\n\n<p>View your actions progress and logs by navigating to the &#8220;Actions&#8221; tab in your repo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine#example-github-action-workflow\"><\/a>Example GitHub Action Workflow<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine#simple-mainyml\"><\/a><strong>Simple main.yml<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>name: Deploy to WP Engine\non:\n  push:\n    branches:\n     - main\njobs:\n  build:\n    runs-on: ubuntu-latest  \n    steps: \n    - uses: actions\/checkout@v3\n    - name: GitHub Action Deploy to WP Engine\n      uses: wpengine\/github-action-wpe-site-deploy@v3\n      with:\n        WPE_SSHG_KEY_PRIVATE: ${{ secrets.WPE_SSHG_KEY_PRIVATE }} \n        WPE_ENV: &lt;your_install_name_here&gt;<\/code><\/pre>\n\n\n\n<p><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine#extended-mainyml\"><\/a><strong>Extended main.yml<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>name: Deploy to WP Engine\non:\n  push:\n    branches:\n     - main\njobs:\n  build:\n    runs-on: ubuntu-latest  \n    steps: \n    - uses: actions\/checkout@v2\n    - name: GitHub Action Deploy to WP Engine\n      uses: wpengine\/github-action-wpe-site-deploy@v3\n      with:\n      # Deploy vars \n        WPE_SSHG_KEY_PRIVATE: ${{ secrets.WPE_SSHG_KEY_PRIVATE }} \n        WPE_ENV: &lt;your_install_name_here&gt;\n        # Deploy Options\n        SRC_PATH: \"wp-content\/themes\/genesis-child-theme\/\"\n        REMOTE_PATH: \"wp-content\/themes\/genesis-child-theme\/\"\n        PHP_LINT: TRUE\n        FLAGS: -azvr --inplace --delete --exclude=.* --exclude-from=.deployignore\n        SCRIPT: \"path\/yourscript.sh\"\n        CACHE_CLEAR: TRUE\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine#environment-variables--secrets\"><\/a>Environment Variables and Secrets<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine#required\"><\/a><strong>Required<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Type<\/th><th>Usage<\/th><\/tr><\/thead><tbody><tr><td><code>WPE_SSHG_KEY_PRIVATE<\/code><\/td><td>secrets<\/td><td>Private SSH Key for the SSH Gateway and deployment. See below for SSH key usage.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine#optional\"><\/a><strong>Deploy Options<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Name<\/th><th>Type<\/th><th>Usage<\/th><\/tr><\/thead><tbody><tr><td><code>WPE_ENV<\/code><\/td><td>string<\/td><td>Insert the name of the WP Engine environment you want to deploy to. This also has an alias of&nbsp;<code>PRD_ENV<\/code>,&nbsp;<code>STG_ENV<\/code>, or&nbsp;<code>DEV_ENV<\/code>&nbsp;for multistep workflows.<\/td><\/tr><tr><td><code><code>SRC_PATH<\/code><\/code><\/td><td>string<\/td><td>Optional subdirectory or file within a repo to deploy from other than the root directory of the source (GitHub) repo. Ex.&nbsp;<code>\"wp-content\/themes\/genesis-child-theme\/\"<\/code>. If unspecified, src_path defaults to the root of filesystem.<\/td><\/tr><tr><td><code><code>REMOTE_PATH<\/code><\/code><\/td><td>string<\/td><td>Optional subdirectory or file within a repo to deploy to other than the root directory of the remote (WP Engine) repo. Ex.&nbsp;<code>\"wp-content\/themes\/genesis-child-theme\/\"<\/code>. If unspecified, src_path defaults to the root of filesystem.<\/td><\/tr><tr><td><code><code>PHP_LINT<\/code><\/code><\/td><td>bool<\/td><td>Set to TRUE to execute a php lint on your branch pre-deployment. Default is&nbsp;<code>FALSE<\/code>.<\/td><\/tr><tr><td><code>FLAGS<\/code><\/td><td>string<\/td><td>Set optional rsync flags such as&nbsp;<code>--delete<\/code>&nbsp;or&nbsp;<code>--exclude-from<\/code>. The example is excluding paths specified in a&nbsp;<code>.deployignore<\/code>&nbsp;file in the root of the repo. This action defaults to a non-destructive deploy using the flags in the example above.<\/td><\/tr><tr><td><code>SCRIPT<\/code><\/td><td>string<\/td><td>Remote bash file to execute post-deploy. This can include WP_CLI commands for example. Path is relative to the WP root and file executes on remote. This file can be included in your repo, or be a persistent file that lives on your server.<\/td><\/tr><tr><td><code>CACHE_CLEAR<\/code><\/td><td>bool<\/td><td>Optionally clear cache post deploy. This takes a few seconds. Default is TRUE.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Advanced Versioning and Deployment Scenarios<\/h2>\n\n\n\n<p><strong>Scenario 1:<\/strong><strong> Full Site Deploy<\/strong><\/p>\n\n\n\n<p>Deploy all files from a WordPress\u00ae repo (i.e. <code>my-wp-site\/.git<\/code>)\u00a0to the root directory of WordPress within WP Engine.<sup><a href=\"#legal-disclaimer\">1\u00a0<\/a><\/sup><\/p>\n\n\n\n<p>In this scenario, <code>SRC_PATH<\/code> and <code>REMOTE_PATH<\/code> are left <em>empty<\/em> for default deployment.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- name: GitHub Action Deploy to WP Engine\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uses: wpengine\/github-action-wpe-site-deploy@v3\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Deploy vars\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WPE_SSHG_KEY_PRIVATE: ${{ secrets.WPE_SSHG_KEY_PRIVATE }}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WPE_ENV: &lt;your_install_name_here&gt;<\/code><\/pre>\n\n\n\n<p><strong>Scenario 2:<\/strong> <strong>Theme Repo Deploy<\/strong><\/p>\n\n\n\n<p>Deploy all files from a theme repo (i.e. <code>my-wp-site\/wp-content\/themes\/my-theme\/.git<\/code>) to the theme directory of WordPress on WP Engine.&nbsp;<\/p>\n\n\n\n<p>In this scenario, only <code>REMOTE_PATH<\/code> is required. The <code>SRC_PATH<\/code> may be left blank since the repository is in the root of the theme directory.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- name: GitHub Action Deploy to WP Engine\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uses: wpengine\/github-action-wpe-site-deploy@v3\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Deploy vars\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WPE_SSHG_KEY_PRIVATE: ${{ secrets.WPE_SSHG_KEY_PRIVATE }}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WPE_ENV: &lt;your_install_name_here&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Deploy Options\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REMOTE_PATH: \"wp-content\/themes\/genesis-child-theme\/\"<\/code><\/pre>\n\n\n\n<p><strong>Scenario 3: Subdirectory Deploy<\/strong><\/p>\n\n\n\n<p>Deploy only a subdirectory of a repository to a WordPress directory on WP Engine.&nbsp;<\/p>\n\n\n\n<p>For example, deploy the theme directory (i.e <code>my-wp-site\/wp-content\/themes\/my-theme\/<\/code>) of a repo versioning the \u201cwp-content\u201d folder (i.e <code>my-wp-site\/wp-content\/.git<\/code>).&nbsp;<\/p>\n\n\n\n<p>In this scenario, both <code>SRC_PATH<\/code> and <code>REMOTE_PATH<\/code> are configured.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>- name: GitHub Action Deploy to WP Engine\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uses: wpengine\/github-action-wpe-site-deploy@v3\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with:\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Deploy vars\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WPE_SSHG_KEY_PRIVATE: ${{ secrets.WPE_SSHG_KEY_PRIVATE }}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WPE_ENV: &lt;your_install_name_here&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Deploy Options\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SRC_PATH: \"themes\/my-theme\/\"\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;REMOTE_PATH: \"wp-content\/themes\/my-theme\/\"<\/code><\/pre>\n\n\n\n<p><strong>Scenario 4<\/strong>: <strong>WordPress Local Atlas Deploy<\/strong><\/p>\n\n\n\n<p>Deploy a WordPress application directory ( i.e <code>app\/public\/wp-content\/<\/code>) from an <a href=\"https:\/\/localwp.com\/help-docs\/local-features\/using-the-atlas-headless-wp-add-on\/\">Atlas project in Local<\/a> that is also versioning a Javascript application (ie. <code>\/Local Sites\/atlasdemo\/.git<\/code>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"392\" src=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2023\/08\/atlas-gitaction-example-1024x392.png\" alt=\"\" class=\"wp-image-124060\" srcset=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2023\/08\/atlas-gitaction-example-1024x392.png 1024w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2023\/08\/atlas-gitaction-example-300x115.png 300w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2023\/08\/atlas-gitaction-example-768x294.png 768w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2023\/08\/atlas-gitaction-example-1536x588.png 1536w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2023\/08\/atlas-gitaction-example-1500x574.png 1500w, https:\/\/wpengine.com\/support\/wp-content\/uploads\/2023\/08\/atlas-gitaction-example.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In this scenario, both <code>SRC_PATH<\/code> and <code>REMOTE_PATH<\/code> are configured.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>   - name: GitHub Action Deploy to WP Engine\n      uses: wpengine\/github-action-wpe-site-deploy@v3\n      with:\n      # Deploy vars\n        WPE_SSHG_KEY_PRIVATE: ${{ secrets.WPE_SSHG_KEY_PRIVATE }}\n        WPE_ENV: &lt;your_install_name_here&gt;\n        # Deploy Options\n        SRC_PATH: \"app\/public\/wp-content\/\"\n        REMOTE_PATH: \"wp-content\/\"\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/marketplace\/actions\/deploy-wordpress-to-wp-engine#further-reading\"><\/a>Further Reading<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.github.com\/en\/actions\/reference\/environment-variables\" target=\"_blank\" rel=\"noreferrer noopener\">Defining environment variables in GitHub Actions<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.github.com\/en\/actions\/reference\/encrypted-secrets\" target=\"_blank\" rel=\"noreferrer noopener\">Storing secrets in GitHub repositories<\/a><\/li>\n\n\n\n<li>As this script does not restrict files or directories that can be deployed, it is recommended to leverage one of&nbsp;<a href=\"https:\/\/wpengine.com\/support\/git\/#Add_gitignore\">WP Engine&#8217;s .gitignore templates.<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p><strong>NEXT STEP: <a href=\"https:\/\/wpengine.com\/support\/development-workflow-best-practices\/\">Check out our best practices for deploying when using version control<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With this GitHub Action you can easily create an automated deployment process from GitHub to WP Engine using our SSH Gateway.<\/p>\n","protected":false},"featured_media":126216,"template":"","support-categories":[3,6,77],"support-tag":[118,4],"class_list":["post-122540","support","type-support","status-publish","has-post-thumbnail","hentry","support-categories-development","support-categories-platform","support-categories-third-party","support-tag-continuous-integration","support-tag-git"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GitHub Action for WP Engine Site Deployments - Support Center<\/title>\n<meta name=\"description\" content=\"With this GitHub Action you can easily create an automated deployment process from GitHub to WP Engine using our SSH Gateway.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wpengine.com\/support\/github-action-deploy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GitHub Action for WP Engine Site Deployments - Support Center\" \/>\n<meta property=\"og:description\" content=\"With this GitHub Action you can easily create an automated deployment process from GitHub to WP Engine using our SSH Gateway.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wpengine.com\/support\/github-action-deploy\/\" \/>\n<meta property=\"og:site_name\" content=\"Support Center\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-28T17:07:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wpengine.com\/support\/github-action-deploy\/\",\"url\":\"https:\/\/wpengine.com\/support\/github-action-deploy\/\",\"name\":\"GitHub Action for WP Engine Site Deployments - Support Center\",\"isPartOf\":{\"@id\":\"https:\/\/wpengine.com\/support\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wpengine.com\/support\/github-action-deploy\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wpengine.com\/support\/github-action-deploy\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png\",\"datePublished\":\"2021-10-12T21:13:00+00:00\",\"dateModified\":\"2025-07-28T17:07:10+00:00\",\"description\":\"With this GitHub Action you can easily create an automated deployment process from GitHub to WP Engine using our SSH Gateway.\",\"breadcrumb\":{\"@id\":\"https:\/\/wpengine.com\/support\/github-action-deploy\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wpengine.com\/support\/github-action-deploy\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wpengine.com\/support\/github-action-deploy\/#primaryimage\",\"url\":\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png\",\"contentUrl\":\"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png\",\"width\":1200,\"height\":630,\"caption\":\"WP Engine\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wpengine.com\/support\/github-action-deploy\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wpengine.com\/support\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Support Posts\",\"item\":\"https:\/\/wpengine.com\/support\/support\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GitHub Action for WP Engine Site Deployments\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wpengine.com\/support\/#website\",\"url\":\"https:\/\/wpengine.com\/support\/\",\"name\":\"Support Center\",\"description\":\"WP Engine&#039;s Support Center\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wpengine.com\/support\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GitHub Action for WP Engine Site Deployments - Support Center","description":"With this GitHub Action you can easily create an automated deployment process from GitHub to WP Engine using our SSH Gateway.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wpengine.com\/support\/github-action-deploy\/","og_locale":"en_US","og_type":"article","og_title":"GitHub Action for WP Engine Site Deployments - Support Center","og_description":"With this GitHub Action you can easily create an automated deployment process from GitHub to WP Engine using our SSH Gateway.","og_url":"https:\/\/wpengine.com\/support\/github-action-deploy\/","og_site_name":"Support Center","article_modified_time":"2025-07-28T17:07:10+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wpengine.com\/support\/github-action-deploy\/","url":"https:\/\/wpengine.com\/support\/github-action-deploy\/","name":"GitHub Action for WP Engine Site Deployments - Support Center","isPartOf":{"@id":"https:\/\/wpengine.com\/support\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wpengine.com\/support\/github-action-deploy\/#primaryimage"},"image":{"@id":"https:\/\/wpengine.com\/support\/github-action-deploy\/#primaryimage"},"thumbnailUrl":"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png","datePublished":"2021-10-12T21:13:00+00:00","dateModified":"2025-07-28T17:07:10+00:00","description":"With this GitHub Action you can easily create an automated deployment process from GitHub to WP Engine using our SSH Gateway.","breadcrumb":{"@id":"https:\/\/wpengine.com\/support\/github-action-deploy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wpengine.com\/support\/github-action-deploy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wpengine.com\/support\/github-action-deploy\/#primaryimage","url":"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png","contentUrl":"https:\/\/wpengine.com\/support\/wp-content\/uploads\/2019\/12\/wp-engine-featured-image.png","width":1200,"height":630,"caption":"WP Engine"},{"@type":"BreadcrumbList","@id":"https:\/\/wpengine.com\/support\/github-action-deploy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wpengine.com\/support\/"},{"@type":"ListItem","position":2,"name":"Support Posts","item":"https:\/\/wpengine.com\/support\/support\/"},{"@type":"ListItem","position":3,"name":"GitHub Action for WP Engine Site Deployments"}]},{"@type":"WebSite","@id":"https:\/\/wpengine.com\/support\/#website","url":"https:\/\/wpengine.com\/support\/","name":"Support Center","description":"WP Engine&#039;s Support Center","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wpengine.com\/support\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/support\/122540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/support"}],"about":[{"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/types\/support"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/media\/126216"}],"wp:attachment":[{"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/media?parent=122540"}],"wp:term":[{"taxonomy":"support-categories","embeddable":true,"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/support-categories?post=122540"},{"taxonomy":"support-tag","embeddable":true,"href":"https:\/\/wpengine.com\/support\/wp-json\/wp\/v2\/support-tag?post=122540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}