Merge pull request #3747 from Budibase/infra/automate-helm-deploy

automate helm deployment with CI
This commit is contained in:
Martin McKeaveney 2021-12-09 19:07:54 +00:00 committed by GitHub
commit 5a61e73977
37 changed files with 15 additions and 188 deletions

View File

@ -43,11 +43,6 @@ jobs:
DOCKER_PASSWORD: ${{ secrets.DOCKER_API_KEY }} DOCKER_PASSWORD: ${{ secrets.DOCKER_API_KEY }}
BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }} BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }}
- name: Configure Git
run: |
git config user.name "Budibase Production Bot"
git config user.email "<>"
- uses: azure/setup-helm@v1 - uses: azure/setup-helm@v1
id: install id: install
@ -55,10 +50,12 @@ jobs:
env: env:
BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }} BUDIBASE_RELEASE_VERSION: ${{ steps.previoustag.outputs.tag }}
- name: Configure Git
run: |
git config user.name "Budibase Helm Bot"
git config user.email "<>"
- name: Run chart-releaser - name: Run chart-releaser
uses: helm/chart-releaser-action@v1.1.0 uses: helm/chart-releaser-action@v1.2.0
with:
charts_dir: docs
branch: helm-repo
env: env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

View File

@ -11,8 +11,8 @@ sources:
- https://github.com/Budibase/budibase - https://github.com/Budibase/budibase
- https://budibase.com - https://budibase.com
type: application type: application
version: 0.2.4 version: 0.2.6
appVersion: 1.0.6 appVersion: 1.0.10
dependencies: dependencies:
- name: couchdb - name: couchdb
version: 3.3.4 version: 3.3.4

View File

@ -106,7 +106,7 @@ spec:
value: {{ .Values.globals.accountPortalApiKey | quote }} value: {{ .Values.globals.accountPortalApiKey | quote }}
- name: COOKIE_DOMAIN - name: COOKIE_DOMAIN
value: {{ .Values.globals.cookieDomain | quote }} value: {{ .Values.globals.cookieDomain | quote }}
image: budibase/apps:{{ .Chart.appVersion }} image: budibase/apps:{{ .Values.globals.appVersion }}
imagePullPolicy: Always imagePullPolicy: Always
name: bbapps name: bbapps
ports: ports:

View File

@ -30,9 +30,9 @@ spec:
- name: SOURCE - name: SOURCE
value: {{ .Values.services.couchdb.url }} value: {{ .Values.services.couchdb.url }}
- name: TARGET - name: TARGET
value: {{ .Values.services.couchdb.backup.target }} value: {{ .Values.services.couchdb.backup.target | quote }}
- name: RUN_EVERY_SECS - name: RUN_EVERY_SECS
value: {{ .Values.services.couchdb.backup.interval }} value: {{ .Values.services.couchdb.backup.interval | quote }}
- name: VERBOSE - name: VERBOSE
value: "true" value: "true"
image: redgeoff/replicate-couchdb-cluster image: redgeoff/replicate-couchdb-cluster

View File

@ -111,7 +111,7 @@ spec:
value: {{ .Values.globals.smtp.from | quote }} value: {{ .Values.globals.smtp.from | quote }}
- name: APPS_URL - name: APPS_URL
value: http://app-service:{{ .Values.services.apps.port }} value: http://app-service:{{ .Values.services.apps.port }}
image: budibase/worker:{{ .Chart.appVersion }} image: budibase/worker:{{ .Values.globals.appVersion }}
imagePullPolicy: Always imagePullPolicy: Always
name: bbworker name: bbworker
ports: ports:

View File

@ -85,6 +85,7 @@ tolerations: []
affinity: {} affinity: {}
globals: globals:
appVersion: "latest"
budibaseEnv: PRODUCTION budibaseEnv: PRODUCTION
enableAnalytics: true enableAnalytics: true
sentryDSN: "" sentryDSN: ""

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,9 +0,0 @@
<html>
<head>
<title>Budibase Helm Chart Repo</title>
</head>
<body>
<h1>Budibase Charts Repo</h1>
<p>Point Helm at this repo to see charts.</p>
</body>
</html>

View File

@ -1,158 +0,0 @@
apiVersion: v1
entries:
budibase:
- apiVersion: v2
appVersion: 1.0.6
created: "2021-12-08T16:26:47.061065Z"
dependencies:
- condition: services.couchdb.enabled
name: couchdb
repository: https://apache.github.io/couchdb-helm
version: 3.3.4
- condition: ingress.nginx
name: ingress-nginx
repository: https://github.com/kubernetes/ingress-nginx
version: 3.35.0
description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
digest: 9e3d5b600368a4fd65ba827986c943b65d7ffae6544b3fda0418e760866e8929
keywords:
- low-code
- database
- cluster
name: budibase
sources:
- https://github.com/Budibase/budibase
- https://budibase.com
type: application
urls:
- https://budibase.github.io/budibase/budibase-0.2.4.tgz
version: 0.2.4
- apiVersion: v2
appVersion: 0.9.169
created: "2021-12-08T16:26:47.055284Z"
dependencies:
- condition: services.couchdb.enabled
name: couchdb
repository: https://apache.github.io/couchdb-helm
version: 3.3.4
- condition: ingress.nginx
name: ingress-nginx
repository: https://github.com/kubernetes/ingress-nginx
version: 3.35.0
description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
digest: 57f365d799fcaace4658883cb8ec961a7905383a68acf065af4f6e57f9878ff8
keywords:
- low-code
- database
- cluster
name: budibase
sources:
- https://github.com/Budibase/budibase
- https://budibase.com
type: application
urls:
- https://budibase.github.io/budibase/budibase-0.2.2.tgz
version: 0.2.2
- apiVersion: v2
appVersion: 0.9.163
created: "2021-12-08T16:26:47.051008Z"
dependencies:
- condition: services.couchdb.enabled
name: couchdb
repository: https://apache.github.io/couchdb-helm
version: 3.3.4
- condition: ingress.nginx
name: ingress-nginx
repository: https://github.com/kubernetes/ingress-nginx
version: 3.35.0
description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
digest: ebac6d8631cc38b266c3689508b5123f5afc395f23bdb02738be26c7cae0b0b5
keywords:
- low-code
- database
- cluster
name: budibase
sources:
- https://github.com/Budibase/budibase
- https://budibase.com
type: application
urls:
- https://budibase.github.io/budibase/budibase-0.2.1.tgz
version: 0.2.1
- apiVersion: v2
appVersion: 0.9.163
created: "2021-12-08T16:26:47.046825Z"
dependencies:
- condition: services.couchdb.enabled
name: couchdb
repository: https://apache.github.io/couchdb-helm
version: 3.3.4
- condition: ingress.nginx
name: ingress-nginx
repository: https://github.com/kubernetes/ingress-nginx
version: 3.35.0
description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
digest: f369536c0eac1f6959d51e8ce6d74a87a7a9df29ae84fb9cbed0a273ab77429b
keywords:
- low-code
- database
- cluster
name: budibase
sources:
- https://github.com/Budibase/budibase
- https://budibase.com
type: application
urls:
- https://budibase.github.io/budibase/budibase-0.2.0.tgz
version: 0.2.0
- apiVersion: v2
appVersion: 0.9.56
created: "2021-12-08T16:26:47.042113Z"
dependencies:
- condition: services.couchdb.enabled
name: couchdb
repository: https://apache.github.io/couchdb-helm
version: 3.3.4
- name: ingress-nginx
repository: https://github.com/kubernetes/ingress-nginx
version: 3.35.0
description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
digest: 8dc4f2ed4d98cad5adf25936aefea680042d3e4e17832f846b961fd8708ad192
keywords:
- low-code
- database
- cluster
name: budibase
sources:
- https://github.com/Budibase/budibase
- https://budibase.com
type: application
urls:
- https://budibase.github.io/budibase/budibase-0.1.1.tgz
version: 0.1.1
- apiVersion: v2
appVersion: 0.9.56
created: "2021-12-08T16:26:47.036016Z"
dependencies:
- condition: services.couchdb.enabled
name: couchdb
repository: https://apache.github.io/couchdb-helm
version: 3.3.4
- name: ingress-nginx
repository: https://github.com/kubernetes/ingress-nginx
version: 3.35.0
description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes.
digest: 08031b0803cce0eff64472e569d454d9176119c8207aa9873a9c95ee66cc7d3f
keywords:
- low-code
- database
- cluster
name: budibase
sources:
- https://github.com/Budibase/budibase
- https://budibase.com
type: application
urls:
- https://budibase.github.io/budibase/budibase-0.1.0.tgz
version: 0.1.0
generated: "2021-12-08T16:26:47.031998Z"

View File

@ -1,5 +1,4 @@
const yaml = require("js-yaml") const yaml = require("js-yaml")
const { execSync } = require("child_process")
const fs = require("fs") const fs = require("fs")
const path = require("path") const path = require("path")
@ -9,7 +8,7 @@ const UpgradeTypes = {
PATCH: "patch" PATCH: "patch"
} }
const CHART_PATH = path.join(__dirname, "../", "hosting", "kubernetes", "budibase", "Chart.yaml") const CHART_PATH = path.join(__dirname, "../", "charts", "budibase", "Chart.yaml")
const UPGRADE_VERSION = process.env.BUDIBASE_RELEASE_VERSION const UPGRADE_VERSION = process.env.BUDIBASE_RELEASE_VERSION
const UPGRADE_TYPE = process.env.HELM_CHART_UPGRADE_TYPE || UpgradeTypes.PATCH const UPGRADE_TYPE = process.env.HELM_CHART_UPGRADE_TYPE || UpgradeTypes.PATCH
@ -30,9 +29,6 @@ try {
chart.version = [major, minor, newPatch].join(".") chart.version = [major, minor, newPatch].join(".")
const updatedChartYaml = yaml.dump(chart) const updatedChartYaml = yaml.dump(chart)
fs.writeFileSync(CHART_PATH, updatedChartYaml) fs.writeFileSync(CHART_PATH, updatedChartYaml)
// package the chart and write to docs dir
execSync(`helm package hosting/kubernetes/budibase --destination docs`)
} catch (err) { } catch (err) {
console.error("Error releasing helm chart") console.error("Error releasing helm chart")
throw err throw err