Skip to content

Plugin for semantic-release to deploy serverless app to yandex cloud

License

Notifications You must be signed in to change notification settings

relab-services/semantic-release-sls-yandex-cloud

Repository files navigation

@relab/semantic-release-sls-yandex-cloud

semantic-release plugin to deploy serverless app to yandex cloud

Install

Add the plugin to your npm-project:

$ npm install @relab/semantic-release-sls-yandex-cloud -D

Usage

The plugin can be configured in the semantic-release configuration file:

{
    "plugins": ["@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@relab/semantic-release-sls-yandex-cloud"]
}

Once it configured, the plugin creates ~/.config/yandex-cloud/config.yaml file and run npx serverless deploy for your project.

Configuration

Yandex Cloud serverless app

Follow the instructions to create serverless app for Yandex Cloud

Environment variables

The YC_OAUTH_TOKEN, YC_CLOUD_ID, YC_FOLDER_ID and YC_DEFAULT_ZONE can be defined in the environment where you will run semantic release. As an alternative you can pass it via options.

Options

Option Description Required Default
token OAuth token to deploy YC app yes YC_OAUTH_TOKEN
cloudId Cloud ID in Yandex Cloud yes YC_CLOUD_ID
folderId Folder ID in Yandex Cloud yes YC_FOLDER_ID
defaultZone Availability zone in Yandex Cloud yes YC_DEFAULT_ZONE

Examples

{
    "plugins": [
        "@semantic-release/commit-analyzer",
        "@semantic-release/release-notes-generator",
        [
            "@relab/semantic-release-sls-yandex-cloud",
            {
                "token": "<-- YOUR OAUTH TOKEN -->",
                "cloudId": "<-- CLOUD ID -->",
                "folderId": "<-- FOLDER ID -->",
                "defaultZone": "<-- ZONE -->"
            }
        ]
    ]
}

MIT Licence