Welcome to Storefront Deployment repository. Here, you can found a Github Actions we produce to simplify deployments of Storefronts to the Console & Cloud.
There are four actions:
- build-middleware
- build-frontend
- deploy
With those four you can easily compose the deployment script for your needs.
uses: vuestorefront/storefront-deployment/build-frontend@v4.5.0
with:
project_name: ${{ secrets.PROJECT_NAME }}
cloud_username: ${{ secrets.CLOUD_USERNAME }}
cloud_password: ${{ secrets.CLOUD_PASSWORD }}
npm_email: ${{ secrets.NPM_EMAIL }}
npm_user: ${{ secrets.NPM_USER }}
npm_pass: ${{ secrets.NPM_PASS }}
frontend: 'next'
docker_registry_url: 'registry.vuestorefront.cloud'
npm_registry: 'https://registrynpm.storefrontcloud.io'
version: '2.3.0'
image_provider: 'ipx'
docker_buildargs: |
EXTRA_ENV_FOR_DOCKERFILE=somevalue-hardcoded
ANOTHER_EXTRA_ENV=${{ secrets.SOME_VALUE }}Input Parameters:
project_name: Project name in Console. Required field.cloud_username: Cloud API and Docker registry username. Required field.cloud_password: Cloud API and Docker registry password. Required field.npm_email: Email address required for logging into the private NPM registry. Required field.npm_user: Username for the private NPM registry. Required field.npm_pass: Password for the private NPM registry. Required field.frontend: Frontend choice - Next (next) or Nuxt (nuxt). Optional field. Defaults tonext.docker_registry_url: URL to the Docker image registry. Optional field. Defaults toregistry.vuestorefront.cloud.npm_registry: URL to the private NPM registry. Optional field. Defaults tohttps://registrynpm.storefrontcloud.io.version: Version that will be used for docker image tag. Example: 2.3.0, 3.1.0-rc.1. If not passed, github.sha will be usedimage_provider: Select image provider for Nuxt Image. Optional field. Only for Nuxt.docker_buildargs: Multi-line input field, for passing in the additional build args. Optional field.
Any environment variables needed by an application is needed to be set in the Alokai Console.
uses: vuestorefront/storefront-deployment/build-middleware@v4.5.0
with:
project_name: ${{ secrets.PROJECT_NAME }}
cloud_username: ${{ secrets.CLOUD_USERNAME }}
cloud_password: ${{ secrets.CLOUD_PASSWORD }}
npm_email: ${{ secrets.NPM_EMAIL }}
npm_user: ${{ secrets.NPM_USER }}
npm_pass: ${{ secrets.NPM_PASS }}
docker_registry_url: 'registry.vuestorefront.cloud'
npm_registry: 'https://registrynpm.storefrontcloud.io'
version: 2.3.0
docker_buildargs: |
EXTRA_ENV_FOR_DOCKERFILE=somevalue-hardcoded
ANOTHER_EXTRA_ENV=${{ secrets.SOME_VALUE }}Input Parameters:
project_name: Project name in Console. Required field.cloud_username: Cloud API and Docker registry username. Required field.cloud_password: Cloud API and Docker registry password. Required field.npm_email: Email address required for logging into the private NPM registry. Required field.npm_user: Username for the private NPM registry. Required field.npm_pass: Password for the private NPM registry. Required field.docker_registry_url: URL to the Docker image registry. Optional field. Defaults toregistry.vuestorefront.cloud.npm_registry: URL to the private NPM registry. Optional field. Defaults tohttps://registrynpm.storefrontcloud.io.version: Version that will be used for docker image tag. Example: 2.3.0, 3.1.0-rc.1. If not passed, github.sha will be useddocker_buildargs: Multi-line input field, for passing in the additional build args. Optional field.
uses: vuestorefront/storefront-deployment/build-stripe-ct@v4.5.0
with:
project_name: ${{ secrets.PROJECT_NAME }}
cloud_username: ${{ secrets.CLOUD_USERNAME }}
cloud_password: ${{ secrets.CLOUD_PASSWORD }}
docker_registry_url: 'registry.vuestorefront.cloud'
version: 2.3.0Input Parameters:
project_name: Project name in Console. Required field.cloud_username: Cloud API and Docker registry username. Required field.cloud_password: Cloud API and Docker registry password. Required field.npm_email: Email address required for logging into the private NPM registry. Required field.npm_user: Username for the private NPM registry. Required field.npm_pass: Password for the private NPM registry. Required field.docker_registry_url: URL to the Docker image registry. Optional field. Defaults toregistry.vuestorefront.cloud.npm_registry: URL to the private NPM registry. Optional field. Defaults tohttps://registrynpm.storefrontcloud.io.version: Version that will be used for docker image tag. Example: 2.3.0, 3.1.0-rc.1. If not passed, github.sha will be usedextension_module_name: Extension module name. It’s used as the name of the docker image and path where the api is available. Default value isct-stripe-extension.extension_module_port: Port of the extension module. Default value is8080.extension_module_config: Configuration for the extension module. Required field.notification_module_name: Notification module name. It’s used as the name of the docker image and path where the api is available. Default value isct-stripe-notification.notification_module_port: Port of the notification module. Default value is8081.notification_module_config: Configuration for the notification module. Required field.
uses: vuestorefront/storefront-deployment/deploy@v4.5.0
with:
project_name: ${{ secrets.PROJECT_NAME }}
cloud_username: ${{ secrets.CLOUD_USERNAME }}
cloud_password: ${{ secrets.CLOUD_PASSWORD }}
cloud_region: ${{ secrets.CLOUD_REGION }}
docker_registry_url: 'registry.vuestorefront.cloud'
console_api: 'https://api.platform.vuestorefront.io'
version: 2.3.0Input Parameters:
project_name: Project name in Console. Required field.cloud_username: Cloud API and Docker registry username. Required field.cloud_password: Cloud API and Docker registry password. Required field.cloud_region: Region where the environment is set up in the Console. Required field.docker_registry_url: URL to the Docker image registry. Optional field. Defaults toregistry.vuestorefront.cloud.console_api_url: URL to the Console. Optional field. Defaults tohttps://api.platform.vuestorefront.io.version: Docker image tag that will be deployed. Example: 2.3.0, 3.1.0-rc.1. If not passed,github.shawill be usedmiddleware_path: Path in URL of the Storefront on which Middleware app will be available. If not passed,/api/will be usedmiddleware_port: Port on which Middleware application is working on. If not passed,4000will be used
uses: vuestorefront/storefront-deployment/deploy/stripe-ct@v4.5.0
with:
project_name: ${{ secrets.PROJECT_NAME }}
cloud_username: ${{ secrets.CLOUD_USERNAME }}
cloud_password: ${{ secrets.CLOUD_PASSWORD }}
cloud_region: ${{ secrets.CLOUD_REGION }}
docker_registry_url: 'registry.vuestorefront.cloud'
console_api: 'https://api.platform.vuestorefront.io'
version: 2.3.0Input Parameters:
project_name: Project name in Console. Required field.cloud_username: Cloud API and Docker registry username. Required field.cloud_password: Cloud API and Docker registry password. Required field.cloud_region: Region where the environment is set up in the Console. Required field.docker_registry_url: URL to the Docker image registry. Optional field. Defaults toregistry.vuestorefront.cloud.console_api_url: URL to the Console. Optional field. Defaults tohttps://api.platform.vuestorefront.io.version: Docker image tag that will be deployed. Example: 2.3.0, 3.1.0-rc.1. If not passed, github.sha will be usedextension_module_name: Extension module name. It’s used as the name of the docker image and path where the api is available. Default value isct-stripe-extension.extension_module_port: Port of the extension module. Default value is8080.notification_module_name: Notification module name. It’s used as the name of the docker image and path where the api is available. Default value isct-stripe-notification.notification_module_port: Port of the notification module. Default value is8081.