GitHub Action
Deploy to platform.sh
This GitHub Action (platformsh-deploy-action
) is now deprecated and will no longer be maintained or receive updates. We recommend using the new Platform.sh Action for all future deployments and integrations.
To migrate to the new action, Edit your workflow YAML file(s) and follow these steps:
- Checkout repository code
- name: Check out repository code
uses: actions/checkout@v4
with:
fetch-depth: 0
- Replace the old action: replace any references to
axelerant/platformsh-deploy-action
withaxelerant/platformsh-action
.
Old Configuration:
- name: Deploy to Platform.sh
uses: axelerant/platformsh-deploy-action@v1
with:
project-id: 'project-id'
cli-token: ${{ secrets.PlatformCliToken }}
ssh-private-key: ${{ secrets.PlatformSshKey }}
php-version: 8.1
force-push: true
New Configuration:
- name: Check out repository code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Deploy to platform.sh
uses: axelerant/platformsh-action@v1
with:
action: 'deploy'
project-id: 'project-id'
cli-token: ${{ secrets.PLATFORMSH_CLI_TOKEN }}
ssh-private-key: ${{ secrets.PlatformSshKey }}
force-push: true
This is a composite action designed to simplify deployment to platform.sh. One of the main reasons to write this was to avoid a basic mistake with checking out the repository. The popular Github action actions/checkout
does a shallow clone by default which can sometimes break the site. This action does a full clone and sets up PHP as well before installing the CLI.
The project ID on platform.sh. You can find this using the CLI or the web console.
A token to access platform.sh API. See instructions on platform.sh docs.
The platform.sh CLI generates a temporary certificate for use for deployment. However, you may still choose to provide a private key that lets you push via git. Create a specialized key used only for deployment and use Github secrets to keep your key safe.
The PHP version to use. This is directly passed to shivammathur/setup-php
. Default: 8.0
.
An option to force push changes to the project repository on Platform.sh. Use with caution as force push overrides your commit history.
The name of the platform.sh instance on which to act. Default: The current branch name.
No outputs.
uses: axelerant/platformsh-deploy-action@v1
with:
project-id: ${{ secrets.PlatformProjectId }}
cli-token: ${{ secrets.PlatformCliToken }}
ssh-private-key: ${{ secrets.PlatformSshKey }}
php-version: 8.1
force-push: true