2.1.2 • Published 4 years ago

semantic-release-rancher v2.1.2

Weekly downloads
27
License
MIT
Repository
github
Last release
4 years ago

semantic-release-rancher

npm build downloads dependencies devDependency Status Maintainability semantic-release

Set of semantic-release plugins for upgrade service in Rancher.

StepDescription
verifyConditionsVerify the presence and the validity of the rancher api key (set via environment variables).
publishUpgrade a service with a new version.

Install

npm i -D semantic-release-rancher

Usage

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

{
  "plugins": [
    "@semantic-release/changelog",
    "@semantic-release/npm",
    "@semantic-release/git",
    "@semantic-release/gitlab",
    "semantic-release-gitlab-registry",
    "semantic-release-rancher"
  ]
}

Example .gitlab-ci.yml

stages:
  - test
  - release

test:
  image: node:alpine
  stage: test
  before_script:
    - npm i
  script:
    - npm t

release:
  image: node:alpine
  stage: release
  before_script:
    - npm i
    - docker build -t $CI_REGISTRY_IMAGE .
  script:
    - npx semantic-release
  only:
    - master

Configuration

Environment variables

VariableDescription
RANCHER_URLRequired. The url of rancher server. Example: https://rancher.example.com
RANCHER_ENVIRONMENTRequired. The environment id. Example: 1a11
RANCHER_ACCESS_KEYRequired. The API access key.
RANCHER_SECRET_KEYRequired. The API secret key.
RANCHER_STACKRequired. The stack name.
RANCHER_SERVICERequired. The service name.
RANCHER_SERVICESOptional JSON array with objects stack/service to upgrade multiple services. Example: [{"stack": "myStack1", "service": "myService1"},{"stack": "myStack2", "service": "myService2"}]

Options

VariableDescription
rancherUrlThe url of rancher server. Example: https://rancher.example.com
rancherEnvironmentThe environment id. Example: 1a11
servicesArray of object services. Example: [{"stack": "MyStack", "service": "MyService"}, {"stack": "MyStack", "service": "MyOtherService", "startFirst": false}]

Examples

{
  "plugins": [
    "@semantic-release/changelog",
    "@semantic-release/npm",
    "@semantic-release/git",
    "@semantic-release/gitlab",
    "semantic-release-gitlab-registry",
    [
      "semantic-release-rancher",
      {
        "rancherUrl": "https://rancher.example.com",
        "rancherEnvironment": "1a11",
        "services": [
          {
            "stack": "MyStack",
            "service": "MyService"
          },
          {
            "stack": "MyStack",
            "service": "MyOtherService",
            "startFirst": false
          }
        ]
      }
    ]
  ]
}

License

MIT