This is an automated email from the ASF dual-hosted git repository.
zhangliang2022 pushed a commit to branch release-v0.11
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
The following commit(s) were added to refs/heads/release-v0.11 by this push:
new 1e706057 fix: resolve conflit
1e706057 is described below
commit 1e706057da87ee931ee5a2698fbe208964544d9b
Author: mindlesscloud <[email protected]>
AuthorDate: Fri Jun 10 21:03:58 2022 +0800
fix: resolve conflit
---
.github/workflows/build.yml | 118 ++++++++++++++++---------------
releases/lake-v0.11.0/docker-compose.yml | 97 +++++++++++++++++++++++++
releases/lake-v0.11.0/env.example | 114 +++++++++++++++++++++++++++++
3 files changed, 272 insertions(+), 57 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5544bfa5..c1a68d1d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,75 +1,79 @@
name: Build-Images-Push-Docker
+env:
+ IMAGE_LAKE: ${{ secrets.DOCKERHUB_OWNER }}/devlake
+ IMAGE_CONFIG_UI: ${{ secrets.DOCKERHUB_OWNER }}/devlake-config-ui
+ IMAGE_GRAFANA: ${{ secrets.DOCKERHUB_OWNER }}/devlake-dashboard
on:
push:
tags:
- - '*'
+ - 'v*'
jobs:
build-lake:
name: Build lake image
runs-on: ubuntu-20.04
steps:
- - uses: actions/checkout@v2
- - name: Cache Build-Images-Push-Docker
- id: cache-Build-Images-Push-Docker
- uses: actions/cache@v3
- with:
- path: Build-Images-Push-Docker
- key: ${{ runner.os }}-Build-Images-Push-Docker
+ - uses: actions/checkout@v2
+ - name: Cache Build-Images-Push-Docker
+ id: cache-Build-Images-Push-Docker
+ uses: actions/cache@v3
+ with:
+ path: Build-Images-Push-Docker
+ key: ${{ runner.os }}-Build-Images-Push-Docker
- - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
- with:
- username: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
- password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- - name: Build lake image
- run: |
- export IMAGE_LAKE=mericodev/lake
- docker build -t $IMAGE_LAKE:latest --file ./Dockerfile .
- docker tag $IMAGE_LAKE:latest $IMAGE_LAKE:$(echo ${GITHUB_REF:10})
- docker push $IMAGE_LAKE:$(echo ${GITHUB_REF:10})
- docker push $IMAGE_LAKE:latest
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Build lake image
+ run: |
+ docker build -t ${{ env.IMAGE_LAKE }}:latest --file ./Dockerfile .
+ docker tag ${{ env.IMAGE_LAKE }}:latest ${{ env.IMAGE_LAKE }}:$(echo
${GITHUB_REF:10})
+ docker push ${{ env.IMAGE_LAKE }}:$(echo ${GITHUB_REF:10})
+ docker push ${{ env.IMAGE_LAKE }}:latest
build-configui:
name: Build config-ui image
runs-on: ubuntu-20.04
steps:
- - uses: actions/checkout@v2
- - name: Cache config-ui
- id: cache-config-ui
- uses: actions/cache@v3
- with:
- path: config-ui
- key: ${{ runner.os }}-config-ui
- - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
- with:
- username: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
- password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- - name: Build config ui image
- run: |
- export IMAGE_CONFIG_UI=mericodev/config-ui
- cd config-ui
- docker build -t $IMAGE_CONFIG_UI:latest --file ./Dockerfile .
- docker tag $IMAGE_CONFIG_UI:latest $IMAGE_CONFIG_UI:$(echo
${GITHUB_REF:10})
- docker push $IMAGE_CONFIG_UI:$(echo ${GITHUB_REF:10})
- docker push $IMAGE_CONFIG_UI:latest
+ - uses: actions/checkout@v2
+ - name: Cache config-ui
+ id: cache-config-ui
+ uses: actions/cache@v3
+ with:
+ path: config-ui
+ key: ${{ runner.os }}-config-ui
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Build config ui image
+ run: |
+ cd config-ui
+ docker build -t ${{ env.IMAGE_CONFIG_UI }}:latest --file
./Dockerfile .
+ docker tag ${{ env.IMAGE_CONFIG_UI }}:latest ${{ env.IMAGE_CONFIG_UI
}}:$(echo ${GITHUB_REF:10})
+ docker push ${{ env.IMAGE_CONFIG_UI }}:$(echo ${GITHUB_REF:10})
+ docker push ${{ env.IMAGE_CONFIG_UI }}:latest
build-grafana:
name: Build grafana image
runs-on: ubuntu-20.04
steps:
- - uses: actions/checkout@v2
- - name: Cache grafana
- id: cache-grafana
- uses: actions/cache@v3
- with:
- path: grafana
- key: ${{ runner.os }}-grafana
- - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
- with:
- username: ${{ secrets.DOCKER_REGISTRY_USERNAME }}
- password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }}
- - name: Build grafana
- run: |
- export IMAGE_GRAFANA=mericodev/grafana
- cd grafana
- docker build -t $IMAGE_GRAFANA:latest --file ./Dockerfile .
- docker tag $IMAGE_GRAFANA:latest $IMAGE_GRAFANA:$(echo
${GITHUB_REF:10})
- docker push $IMAGE_GRAFANA:$(echo ${GITHUB_REF:10})
- docker push $IMAGE_GRAFANA:latest
+ - uses: actions/checkout@v2
+ - name: Cache grafana
+ id: cache-grafana
+ uses: actions/cache@v3
+ with:
+ path: grafana
+ key: ${{ runner.os }}-grafana
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: Build grafana
+ run: |
+ cd grafana
+ docker build -t ${{ env.IMAGE_GRAFANA }}:latest --file ./Dockerfile .
+ docker tag ${{ env.IMAGE_GRAFANA }}:latest ${{ env.IMAGE_GRAFANA
}}:$(echo ${GITHUB_REF:10})
+ docker push ${{ env.IMAGE_GRAFANA }}:$(echo ${GITHUB_REF:10})
+ docker push ${{ env.IMAGE_GRAFANA }}:latest
diff --git a/releases/lake-v0.11.0/docker-compose.yml
b/releases/lake-v0.11.0/docker-compose.yml
new file mode 100644
index 00000000..58cedfae
--- /dev/null
+++ b/releases/lake-v0.11.0/docker-compose.yml
@@ -0,0 +1,97 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+version: "3"
+services:
+ mysql:
+ image: mysql:8.0.26
+ volumes:
+ - mysql-storage:/var/lib/mysql
+ restart: always
+ ports:
+ - 127.0.0.1:3306:3306
+ environment:
+ MYSQL_ROOT_PASSWORD: admin
+ MYSQL_DATABASE: lake
+ MYSQL_USER: merico
+ MYSQL_PASSWORD: merico
+
+ postgres:
+ image: postgres:14.2
+ volumes:
+ - postgres-storage:/var/lib/postgresql
+ restart: always
+ ports:
+ - 127.0.0.1:5432:5432
+ environment:
+ POSTGRES_DB: lake
+ POSTGRES_USER: merico
+ POSTGRES_PASSWORD: merico
+
+ grafana:
+ image: apache/devlake-dashboard:v0.11.0
+ build:
+ context: grafana/
+ ports:
+ - 3002:3000
+ volumes:
+ - grafana-storage:/var/lib/grafana
+ environment:
+ GF_USERS_ALLOW_SIGN_UP: 'false'
+ GF_DASHBOARDS_JSON_ENABLED: 'true'
+ GF_LIVE_ALLOWED_ORIGINS: '*'
+ MYSQL_URL: mysql:3306
+ MYSQL_DATABASE: lake
+ MYSQL_USER: merico
+ MYSQL_PASSWORD: merico
+ restart: always
+ depends_on:
+ - mysql
+
+ devlake:
+ image: apache/devlake:v0.11.0
+ build:
+ context: "."
+ args:
+ HTTPS_PROXY: "${HTTPS_PROXY}"
+ GOPROXY: "${GOPROXY}"
+ ports:
+ - 127.0.0.1:8080:8080
+ restart: always
+ volumes:
+ - ./.env:/app/.env
+ depends_on:
+ - mysql
+
+ config-ui:
+ image: apache/devlake-config-ui:v0.11.0
+ build:
+ context: "config-ui"
+ ports:
+ - 127.0.0.1:4000:80
+ env_file:
+ - ./.env
+ environment:
+ DEVLAKE_ENDPOINT: devlake:8080
+ GRAFANA_ENDPOINT: http://localhost:3002
+ #ADMIN_USER: devlake
+ #ADMIN_PASS: merico
+ depends_on:
+ - devlake
+
+volumes:
+ mysql-storage:
+ grafana-storage:
+ postgres-storage:
diff --git a/releases/lake-v0.11.0/env.example
b/releases/lake-v0.11.0/env.example
new file mode 100644
index 00000000..a031fb91
--- /dev/null
+++ b/releases/lake-v0.11.0/env.example
@@ -0,0 +1,114 @@
+#############
+# Lake core #
+#############
+
+# Lake plugin dir, absolute path or relative path
+PLUGIN_DIR=bin/plugins
+
+# Lake Database Connection String
+DB_URL=mysql://merico:merico@mysql:3306/lake?charset=utf8mb4&parseTime=True
+# Silent Error Warn Info
+DB_LOGGING_LEVEL=Error
+
+# Lake REST API
+PORT=:8080
+MODE=release
+
+NOTIFICATION_ENDPOINT=
+NOTIFICATION_SECRET=
+
+API_TIMEOUT=10s
+API_RETRY=3
+API_REQUESTS_PER_HOUR=10000
+#TEMPORAL_URL=temporal:7233
+TEMPORAL_URL=
+TEMPORAL_TASK_QUEUE=
+# Debug Info Warn Error
+LOGGING_LEVEL=
+
+########################
+# Docker configuration #
+########################
+
+COMPOSE_PROFILES=user
+
+######################
+# Jira configuration #
+######################
+
+# Jira configuration has been migrated into MySQL #
+
+########################
+# Gitlab configuration #
+########################
+
+GITLAB_ENDPOINT=https://gitlab.com/api/v4/
+GITLAB_AUTH=
+GITLAB_PROXY=
+GITLAB_API_REQUESTS_PER_HOUR=
+
+##########################
+# Jira <> Gitlab mapping #
+##########################
+
+# Lake maintains a many-to-many relationship between Jira boards and Gitlab
projects
+# Format:
+#
JIRA_BOARD_GITLAB_PROJECTS=JIRA_BOARD_ID1:GITLAB_PROJECT_ID1,PROJECT_ID2;JIRA_BOARD_ID2:...
+JIRA_BOARD_GITLAB_PROJECTS=
+
+#########################
+# Jenkins configuration #
+#########################
+
+JENKINS_ENDPOINT=
+JENKINS_USERNAME=
+JENKINS_PASSWORD=
+JENKINS_PROXY=
+JENKINS_API_REQUESTS_PER_HOUR=
+
+#########################
+# Feishu configuration #
+#########################
+
+FEISHU_APPID=
+FEISHU_APPSCRECT=
+FEISHU_ENDPOINT=https://open.feishu.cn/open-apis/vc/v1/
+
+########################
+# GitHub configuration #
+########################
+
+GITHUB_ENDPOINT=https://api.github.com/
+GITHUB_AUTH=
+GITHUB_PROXY=
+GITHUB_API_REQUESTS_PER_HOUR=
+# GITHUB_PR_TYPE=type/(.*)$ the program will extract the value in (), in this
example, you will get "refactor" from "type/refactor"
+GITHUB_PR_TYPE='type/(.*)$'
+# GITHUB_PR_COMPONENT=component/(.*)$ the program will extract the value in
(), in this example, you will get "plugins" from "component/plugins"
+GITHUB_PR_COMPONENT='component/(.*)$'
+# GITHUB_ISSUE_SEVERITY=severity/(.*)$ the program will extract the value in
(), in this example, you will get "refactor" from "type/refactor"
+GITHUB_ISSUE_SEVERITY='severity/(.*)$'
+# GITHUB_ISSUE_COMPONENT=component/(.*)$ the program will extract the value in
(), in this example, you will get "refactor" from "type/refactor"
+GITHUB_ISSUE_COMPONENT='component/(.*)$'
+GITHUB_ISSUE_PRIORITY='^(highest|high|medium|low)$'
+GITHUB_ISSUE_TYPE_BUG='^(bug|failure|error)$'
+GITHUB_ISSUE_TYPE_REQUIREMENT='^(feat|feature|proposal|requirement)$'
+GITHUB_ISSUE_TYPE_INCIDENT=
+#
GITHUB_PR_BODY_CLOSE_PATTERN='(?mi)(fix|close|resolve|fixes|closes|resolves|fixed|closed|resolved)[\s]*.*(((and
)?(#|https:\/\/github.com\/%s\/%s\/issues\/)\d+[ ]*)+)'
+GITHUB_PR_BODY_CLOSE_PATTERN='(?mi)(fix|close|resolve|fixes|closes|resolves|fixed|closed|resolved)[\s]*.*(((and
)?(#|https:\/\/github.com\/%s\/%s\/issues\/)\d+[ ]*)+)'
+# GITHUB_PR_TITLE_PATTERN='.*\(#(\d+)\)'
+GITHUB_PR_TITLE_PATTERN='.*\(#(\d+)\)'
+
+##########################
+# AE (Merico-Analysis-Engine) configuration #
+##########################
+AE_APP_ID=
+AE_SECRET_KEY=
+AE_ENDPOINT=
+AE_RATE_LIMIT=100
+AE_PROXY=
+
+##########################
+# Sensitive information encryption key
+##########################
+ENCODE_KEY=