Compare commits

..

106 Commits

Author SHA1 Message Date
dsk-minchulahn
258e94f0c2 Update README.md 2023-08-14 01:40:43 +00:00
deukjin kim
6dc200e612 [fea] 23.03.12 Product 배포
:Why/What:
23.03.12 Product 배포함.
2023-08-14 10:38:58 +09:00
dsk-minchulahn
9f9e9f7833 Update the latest candidate version of dsk-loggate to release-0.1.5 2023-08-14 01:32:38 +00:00
dsk-minchulahn
0ec4e614c1 Update README.md 2023-08-12 01:42:52 +00:00
개발2-FE-박시선
bb30f2c9ea ui version update 2023-08-12 10:37:29 +09:00
dsk-minchulahn
871231484d Update the latest candidate version of dsk-ui to release-0.2.22 2023-08-12 01:33:30 +00:00
dsk-minchulahn
f54402aef4 Update README.md 2023-08-11 11:52:11 +00:00
개발2-FE-박시선
8fc75ad6cb ui version update 2023-08-11 20:46:57 +09:00
dsk-minchulahn
d35e1fabce Update the latest candidate version of dsk-ui to release-0.2.21 2023-08-11 09:02:35 +00:00
dsk-minchulahn
91f5f4e7aa dashboard tab 추가 2023-08-11 17:28:53 +09:00
minchulahn
281352a5cd dashboard 사이드 바 수정 2023-08-11 17:25:19 +09:00
Dev2Back-오승은
1d3b6a6056 Update version.json 2023-08-11 14:37:31 +09:00
dsk-minchulahn
5785a5cdfa Update README.md 2023-08-11 05:33:39 +00:00
Dev2Back-오승은
5c58339b0d Update version.json
billing api
2023-08-11 14:29:55 +09:00
minchulahn
99e8dfa7c9 Merge branch 'main' of github.com:CloudMOA/dsk-version-management into main 2023-08-11 14:27:28 +09:00
minchulahn
fc912b419b Dashboard Dockerfile의 arg, env 수정 2023-08-11 14:27:20 +09:00
dsk-minchulahn
41ffe81507 Update the latest candidate version of dsk-billing-api to release-0.1.2 2023-08-11 05:24:07 +00:00
minchulahn
e2a5608b78 Dockerfile - requirements 파일명 수정 2023-08-11 12:21:09 +09:00
minchulahn
d6448f3573 Add .gitignore 2023-08-11 12:20:21 +09:00
minchulahn
00f7e27697 Add version management dashboard 2023-08-11 12:17:05 +09:00
dsk-minchulahn
88240959e3 Update README.md 2023-08-11 03:02:02 +00:00
개발2-FE-박시선
08453a07bc ui version update
0.2.13 -> 20
2023-08-11 11:57:31 +09:00
dsk-minchulahn
7381c0d2b6 Update the latest candidate version of dsk-ui to release-0.2.20 2023-08-11 02:39:46 +00:00
dsk-minchulahn
956684278f Update README.md 2023-08-11 00:26:18 +00:00
deukjin kim
99afc7ed1d [fea] Tagging connector version 0.1.10
:Why/What:
Tagging connector version 0.1.10 적용
2023-08-11 09:21:01 +09:00
dsk-minchulahn
4f90650497 Update README.md 2023-08-11 00:08:06 +00:00
Dev2Back-오승은
21560bb33c Update version.json
release
- apm
- infrastructure
- chart
- alert
- database
- notification
2023-08-11 09:02:34 +09:00
dsk-minchulahn
ff061e2221 Update the latest candidate version of dsk-tagging-connector to release-0.1.10 2023-08-10 23:57:45 +00:00
dsk-minchulahn
ac0a75330a Update README.md 2023-08-10 08:19:32 +00:00
Dev2Back-오승은
099e0a1377 Update version.json
candidate 
- dsk-apm-api
- dsk-chart-api
- dsk-database-api
- dsk-infrastructure-api
2023-08-10 17:13:56 +09:00
dsk-minchulahn
a6b96c3cb1 Update the latest candidate version of dsk-apm-api to release-0.1.15 2023-08-10 08:07:17 +00:00
dsk-minchulahn
9eb8cd4573 Update the latest candidate version of dsk-infrastructure-api to release-0.1.15 2023-08-10 07:05:38 +00:00
dsk-minchulahn
196b68c93c Update the latest candidate version of dsk-database-api to release-0.1.22 2023-08-10 07:03:10 +00:00
dsk-minchulahn
346bd817d2 Update the latest candidate version of dsk-chart-api to release-0.2.8 2023-08-10 06:57:10 +00:00
dsk-minchulahn
835bc67893 Update README.md 2023-08-10 06:38:30 +00:00
Dev2Back-오승은
63ef038fe4 Update version.json
candidate
dsk-alert-api
dsk-notification-api
2023-08-10 15:34:27 +09:00
dsk-minchulahn
e8b6c50092 Update the latest candidate version of dsk-notification-api to release-0.2.6 2023-08-10 06:27:58 +00:00
dsk-minchulahn
4791782387 Update the latest candidate version of dsk-alert-api to release-0.1.17 2023-08-10 06:25:07 +00:00
dsk-minchulahn
ef4f382638 Update README.md 2023-08-10 02:38:22 +00:00
Dev2Back-오승은
145b11c499 Update version.json
release
dsk-chart-api
2023-08-10 11:34:57 +09:00
dsk-minchulahn
7e1dc5e795 Update README.md 2023-08-10 02:31:43 +00:00
Dev2Back-오승은
100a43ec0f Update version.json
candidate
dks-chart-api
2023-08-10 11:27:29 +09:00
dsk-minchulahn
461cf258c1 Update the latest candidate version of dsk-chart-api to release-0.2.7 2023-08-10 02:17:46 +00:00
dsk-minchulahn
68355a0236 Update the latest candidate version of dsk-chart-api to release-0.2.6 2023-08-10 01:08:06 +00:00
dsk-minchulahn
5a7480ef49 Update README.md 2023-08-09 01:10:44 +00:00
dsk-minchulahn
f98c321def Update to DataSaker version dsk-23.03.11 2023-08-09 01:05:32 +00:00
dsk-minchulahn
f3df0600b0 Update README.md 2023-08-09 00:43:12 +00:00
Dev2Back-오승은
25a32353f1 Update version.json
dsk23.3.10 배포
- dsk-agent-api
- dsk-alert-api
2023-08-09 09:42:16 +09:00
dsk-minchulahn
819b21b56e Update README.md 2023-08-09 00:15:35 +00:00
Dev2Back-오승은
55a8be6d1c Update version.json
release
dsk-agent-api
2023-08-09 09:10:45 +09:00
dsk-minchulahn
ee197d2928 Update README.md 2023-08-08 12:08:45 +00:00
Dev2Back-오승은
4b61fb575f Update version.json
release: dsk-alert-api
2023-08-08 21:03:56 +09:00
dsk-minchulahn
b0a627f4a8 Update README.md 2023-08-08 12:02:08 +00:00
Dev2Back-오승은
c9048924e2 Update version.json
candidate: dsk-alert-api
2023-08-08 20:57:36 +09:00
dsk-minchulahn
a570f0ecad Update the latest candidate version of dsk-alert-api to release-0.1.16 2023-08-08 11:54:08 +00:00
dsk-minchulahn
eb21eaa7db Update README.md 2023-08-08 04:48:02 +00:00
dsk-minchulahn
e351626aab Update README.md 2023-08-08 04:21:12 +00:00
Dev2Back-오승은
4ade12cd28 Update version.json 2023-08-08 13:20:06 +09:00
Dev2Back-오승은
332349d7ad Update version.json 2023-08-08 13:16:19 +09:00
dsk-minchulahn
399426b2bf Update the latest candidate version of dsk-database-api to release-0.1.21 2023-08-08 04:11:18 +00:00
dsk-minchulahn
e1d7b7e2e8 Update README.md 2023-08-06 10:12:18 +00:00
개발2-FE-박시선
e66f0f7925 ui version update
0.2.12 -> 13
2023-08-06 19:06:57 +09:00
dsk-minchulahn
822ac3fba5 Update the latest candidate version of dsk-ui to release-0.2.13 2023-08-06 10:05:55 +00:00
dsk-minchulahn
0bdad318c0 Update README.md 2023-08-06 09:23:28 +00:00
Dev2Back-오승은
e54afaa681 Update version.json 2023-08-06 18:18:05 +09:00
dsk-minchulahn
cb91474eba Update README.md 2023-08-06 09:12:51 +00:00
Dev2Back-오승은
ee0ba7d835 Update version.json 2023-08-06 18:08:25 +09:00
dsk-minchulahn
1db00e1a16 Update the latest candidate version of dsk-database-api to release-0.1.20 2023-08-06 09:05:50 +00:00
dsk-minchulahn
49aa444d51 Update README.md 2023-08-06 08:48:48 +00:00
Dev2Back-오승은
c382f1a967 Update version.json 2023-08-06 17:44:01 +09:00
dsk-minchulahn
1547811474 Update the latest candidate version of dsk-database-api to release-0.1.19 2023-08-06 08:42:09 +00:00
dsk-minchulahn
4cce299623 Update README.md 2023-08-06 07:26:51 +00:00
Dev2Back-오승은
c35720ea36 Update version.json 2023-08-06 16:22:38 +09:00
dsk-minchulahn
bbaef8e808 Update README.md 2023-08-06 07:21:58 +00:00
Dev2Back-오승은
71167288ba Update version.json 2023-08-06 16:16:53 +09:00
dsk-minchulahn
a917e2ae80 Update the latest candidate version of dsk-database-api to release-0.1.18 2023-08-06 07:14:40 +00:00
dsk-minchulahn
8f9ab6636b Update README.md 2023-08-06 01:34:28 +00:00
개발2-FE-박시선
f575a6539b ui version update
release 
0.2.11 -> 0.2.12
2023-08-06 10:29:28 +09:00
dsk-minchulahn
41c52c3cd7 Update the latest candidate version of dsk-ui to release-0.2.12 2023-08-06 01:27:27 +00:00
dsk-minchulahn
7c2a8285db Update README.md 2023-08-05 13:51:04 +00:00
Dev2Back-오승은
932d3622ab Update version.json 2023-08-05 22:46:08 +09:00
dsk-minchulahn
5773b6dd7b Update README.md 2023-08-05 13:45:29 +00:00
Dev2Back-오승은
1122cf687c Update version.json 2023-08-05 22:41:24 +09:00
dsk-minchulahn
140d1c0309 Update the latest candidate version of dsk-database-api to release-0.1.17 2023-08-05 13:39:26 +00:00
dsk-minchulahn
2de07e8660 Update README.md 2023-08-05 11:10:58 +00:00
Dev2Back-오승은
7bb6f5aef5 Update version.json 2023-08-05 20:06:01 +09:00
dsk-minchulahn
819905811d Update README.md 2023-08-05 11:03:40 +00:00
Dev2Back-오승은
42cd44b6d4 Update version.json 2023-08-05 19:58:29 +09:00
dsk-minchulahn
bfaf2f432d Update the latest candidate version of dsk-database-api to release-0.1.16 2023-08-05 10:56:37 +00:00
dsk-minchulahn
6f097d07d0 Update README.md 2023-08-05 00:16:07 +00:00
개발2-FE-박시선
db007d4ebc ui version update 2023-08-05 09:10:44 +09:00
dsk-minchulahn
b4dc4be122 Update the latest candidate version of dsk-ui to release-0.2.11 2023-08-05 00:08:23 +00:00
dsk-minchulahn
37a3fde84a Update README.md 2023-08-04 10:48:14 +00:00
Dev2Back-오승은
5cd0fed5db Update version.json 2023-08-04 19:43:56 +09:00
dsk-minchulahn
e7fbc65fc5 Update README.md 2023-08-04 10:43:01 +00:00
Dev2Back-오승은
c4dc14d538 Update version.json 2023-08-04 19:37:03 +09:00
dsk-minchulahn
70d5ef73a3 Update the latest candidate version of dsk-database-api to release-0.1.15 2023-08-04 10:24:17 +00:00
dsk-minchulahn
b2b6ef32de Update README.md 2023-08-04 08:25:03 +00:00
dsk-minchulahn
350bcd668d Update to DataSaker version dsk-23.03.10 2023-08-04 08:22:09 +00:00
dsk-minchulahn
8c4f8c9bc4 Update README.md 2023-08-04 04:30:39 +00:00
Dev2Back-한승우
abf3078da2 Datagate, Kafka2storage 버전 업데이트
Datagate, Kafka2storage 버전 업데이트
2023-08-04 13:29:46 +09:00
dsk-minchulahn
554135e213 Update README.md 2023-08-03 04:45:21 +00:00
Dev2Back-오승은
b9eda4f0c9 Update version.json 2023-08-03 13:40:32 +09:00
dsk-minchulahn
b78b4e8a1a Update the latest candidate version of dsk-agent-api to release-0.1.14 2023-08-03 04:30:16 +00:00
dsk-minchulahn
a5041842a6 Update README.md 2023-08-02 09:38:49 +00:00
dsk-minchulahn
07a2646727 Update to DataSaker version dsk-23.03.9 2023-08-02 09:34:47 +00:00
11 changed files with 285 additions and 62 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
__pycache__

View File

@@ -1,4 +0,0 @@
FROM python:3.11-slim
WORKDIR app
COPY ./requirements.txt ./
RUN pip install --upgrade pip && pip install -r requirements.txt

4
Dockerfile.cicd Normal file
View File

@@ -0,0 +1,4 @@
FROM python:3.11-slim
WORKDIR app
COPY requirements-cicd.txt requirements-cicd.txt
RUN pip install --upgrade pip && pip install -r requirements-cicd.txt

17
Dockerfile.dashboard Normal file
View File

@@ -0,0 +1,17 @@
From python:3.11-slim
WORKDIR app
RUN apt-get update \
&& apt-get -y install --no-install-recommends curl vim git openssh-client \
&& rm -rf /var/lib/apt/lists/*
COPY requirements-dashboard.txt requirements-dashboard.txt
RUN pip install --no-cache-dir --upgrade pip && pip install -r requirements-dashboard.txt
ENV PYTHONUNBUFFERED=1
ENV PYTHONIOENCODING=UTF-8
COPY . .
ENTRYPOINT ["streamlit", "run", "dashboard/main.py"]

View File

@@ -1,34 +1,34 @@
# DataSaker # DataSaker
### dsk-23.03.8 ### dsk-23.03.12
# Service Version # Service Version
| Type | Name | Candidate Version | Release Version | Product Version | | Type | Name | Candidate Version | Release Version | Product Version |
|:--------:|:------------------------------|:-------------------:|:-----------------:|:-----------------:| |:--------:|:------------------------------|:-------------------:|:-----------------:|:-----------------:|
| front | dsk-ui | release-0.2.10 | release-0.2.10 | release-0.2.10 | | front | dsk-ui | release-0.2.22 | release-0.2.22 | release-0.2.22 |
| api | dsk-agent-api | release-0.1.13 | release-0.1.13 | release-0.1.13 | | api | dsk-agent-api | release-0.1.14 | release-0.1.14 | release-0.1.14 |
| api | dsk-agentmanager-api | release-0.1.6 | release-0.1.6 | release-0.1.6 | | api | dsk-agentmanager-api | release-0.1.6 | release-0.1.6 | release-0.1.6 |
| api | dsk-alert-api | release-0.1.15 | release-0.1.15 | release-0.1.15 | | api | dsk-alert-api | release-0.1.17 | release-0.1.17 | release-0.1.17 |
| api | dsk-apm-api | release-0.1.14 | release-0.1.14 | release-0.1.14 | | api | dsk-apm-api | release-0.1.15 | release-0.1.15 | release-0.1.15 |
| api | dsk-chart-api | release-0.2.5 | release-0.2.5 | release-0.2.5 | | api | dsk-chart-api | release-0.2.8 | release-0.2.8 | release-0.2.8 |
| api | dsk-dashboard-api | release-0.1.16 | release-0.1.16 | release-0.1.16 | | api | dsk-dashboard-api | release-0.1.16 | release-0.1.16 | release-0.1.16 |
| api | dsk-database-api | release-0.1.14 | release-0.1.14 | release-0.1.14 | | api | dsk-database-api | release-0.1.22 | release-0.1.22 | release-0.1.22 |
| api | dsk-infrastructure-api | release-0.1.14 | release-0.1.14 | release-0.1.14 | | api | dsk-infrastructure-api | release-0.1.15 | release-0.1.15 | release-0.1.15 |
| api | dsk-log-api | release-0.1.11 | release-0.1.11 | release-0.1.11 | | api | dsk-log-api | release-0.1.11 | release-0.1.11 | release-0.1.11 |
| api | dsk-notification-api | release-0.2.5 | release-0.2.5 | release-0.2.5 | | api | dsk-notification-api | release-0.2.6 | release-0.2.6 | release-0.2.6 |
| api | dsk-usergate-api | release-0.1.13 | release-0.1.13 | release-0.1.13 | | api | dsk-usergate-api | release-0.1.13 | release-0.1.13 | release-0.1.13 |
| api | dsk-app-sender | release-0.2.0 | release-0.2.0 | release-0.2.0 | | api | dsk-app-sender | release-0.2.0 | release-0.2.0 | release-0.2.0 |
| api | dsk-backoffice | | | | | api | dsk-backoffice | | | |
| api | dsk-metering-batch | | release-0.0.3 | | | api | dsk-metering-batch | | release-0.0.3 | |
| api | dsk-metering-blocking-batch | | | | | api | dsk-metering-blocking-batch | | | |
| api | dsk-live-api | | | | | api | dsk-live-api | | | |
| api | dsk-billing-api | release-0.1.1 | | release-0.1.1 | | api | dsk-billing-api | release-0.1.2 | release-0.1.2 | release-0.1.2 |
| stream | dsk-database-plan-stream | release-0.1.1 | release-0.1.1 | | | stream | dsk-database-plan-stream | release-0.1.1 | release-0.1.1 | |
| stream | dsk-metric-base-agg-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 | | stream | dsk-metric-base-agg-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 |
| stream | dsk-metric-base-flat-stream | release-0.1.6 | release-0.1.6 | release-0.1.6 | | stream | dsk-metric-base-flat-stream | release-0.1.6 | release-0.1.6 | release-0.1.6 |
| stream | dsk-trace-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 | | stream | dsk-trace-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 |
| stream | dsk-metric-custom-flat-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 | | stream | dsk-metric-custom-flat-stream | release-0.1.3 | release-0.1.3 | release-0.1.3 |
| stream | dsk-tagging-connector | release-0.1.9 | release-0.1.9 | release-0.1.9 | | stream | dsk-tagging-connector | release-0.1.10 | release-0.1.10 | release-0.1.10 |
| stream | dsk-kafka2storage | release-0.1.3 | release-0.1.3 | release-0.1.2 | | stream | dsk-kafka2storage | release-0.1.3 | release-0.1.3 | release-0.1.3 |
| stream | dsk-log-connector | release-0.1.3 | release-0.1.3 | release-0.1.3 | | stream | dsk-log-connector | release-0.1.3 | release-0.1.3 | release-0.1.3 |
| datagate | dsk-datagate | release-0.1.6 | release-0.1.6 | release-0.1.4 | | datagate | dsk-datagate | release-0.1.6 | release-0.1.6 | release-0.1.6 |
| datagate | dsk-loggate | release-0.1.4 | release-0.1.3 | release-0.1.3 | | datagate | dsk-loggate | release-0.1.4 | release-0.1.3 | release-0.1.3 |

60
dashboard/main.py Normal file
View File

@@ -0,0 +1,60 @@
import pandas as pd
import streamlit as st
from datetime import datetime
from streamlit_js_eval import streamlit_js_eval
from settings import *
from sidebar import show_sidebar
def highlight_disabled_col(value):
return 'background-color: #F0F2F6'
if __name__=='__main__':
st.set_page_config(
page_title='DataSaker Version Management',
layout='wide'
)
tab1, tab2 = st.tabs(["Deploy DataSaker", "Release Info"])
with tab1:
st.header('DataSaker')
st.write(f"##### {get_datasaker()}")
col1, col2 = st.columns([7, 3])
with col1:
st.subheader('Service')
if st.button('Data Reload'):
git_pull()
streamlit_js_eval(js_expressions='parent.window.location.reload()')
df = pd.DataFrame.from_dict(get_service())
regex = '^release-[0-9]+.[0-9]+.[0-9]+$'
edited_df = st.data_editor(
df.style.applymap(highlight_disabled_col),
key='data_editor',
column_config={
'type': st.column_config.TextColumn('Type', disabled=True),
'name': st.column_config.TextColumn('Name', disabled=True, width='medium'),
'latest_candidate_version': st.column_config.TextColumn('Candidate Latest Version', disabled=True),
'candidate_version': st.column_config.TextColumn('Candidate Version', validate=regex),
'release_version': st.column_config.TextColumn('Release Version', validate=regex),
'product_version': st.column_config.TextColumn('Product Version', validate=regex)
}
)
with col2:
st.text('Edited Rows')
st.write(st.session_state['data_editor']['edited_rows'])
with tab2:
releases = get_github_releases()
for release in releases:
st.write(f"### {release['name']}")
st.write(release['html_url'])
st.write(datetime.strptime(release['published_at'], "%Y-%m-%dT%H:%M:%SZ"))
# st.write(datetime.strptime(release['published_at'], "%Y-%m-%dT%H:%M:%SZ").strftime('%Y-%m-%d %H:%M:%S'))
st.write(release['body'].replace('#', ''))
st.divider()
show_sidebar(df, edited_df)

64
dashboard/settings.py Normal file
View File

@@ -0,0 +1,64 @@
import json, requests, os
from git import Repo
repo = Repo('.')
file_path = './version.json'
repo.config_writer().set_value('user', 'name', 'dsk-minchulahn').release()
repo.config_writer().set_value('user', 'email', 'minchulahn@ex-em.com').release()
def get_datasaker():
return json.load(open(file_path, 'r'))['datasaker']
def get_service():
return json.load(open(file_path, 'r'))['service']
def get_commit_id():
return repo.head.commit
def get_tags():
return repo.tags
def get_github_releases():
api_url = 'https://api.github.com/repos/cloudmoa/dsk-version-management/releases'
github_token = os.environ.get('GITHUB_TOKEN')
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
releases = requests.get(api_url, headers=headers).json()
return releases
def diff():
if len(repo.index.diff(repo.head.commit)) > 0:
return True
return False
def diff_remote_head():
repo.remote().fetch()
remote_head = repo.remote().refs['main'].commit
if repo.head.commit == remote_head:
return True
else:
return False
def git_pull():
repo.remote().fetch()
repo.remotes.origin.pull()
def git_push(commit_message, extended_description):
repo.git.add('version.json')
if len(repo.index.diff(repo.head.commit)) > 0:
repo.index.commit(f'{commit_message}\n\n{extended_description}')
repo.git.push(force=False)
def publish_release(selected_tag, release_title, release_describe):
api_url = 'https://api.github.com/repos/cloudmoa/sample-app/releases'
github_token = os.environ.get('GITHUB_TOKEN')
headers = {'Authorization': f'Bearer {github_token}', 'Accept': 'application/vnd.github.v3+json'}
release_data = {
'tag_name': selected_tag,
'name': release_title,
'body': release_describe,
'draft': False,
'prerelease': False
}
return requests.post(api_url, json=release_data, headers=headers)

78
dashboard/sidebar.py Normal file
View File

@@ -0,0 +1,78 @@
import json, time
import streamlit as st
from streamlit_js_eval import streamlit_js_eval
from settings import *
def set_extended_description(edited_df):
json_edited_df = json.loads(edited_df.to_json(orient='records'))
extended_description_value = []
for idx, changed_idx in enumerate(st.session_state['data_editor']['edited_rows']):
if idx == 0:
extended_description_value.append(json_edited_df[changed_idx]['name'])
else:
extended_description_value.append('\n' + json_edited_df[changed_idx]['name'])
if 'candidate_version' in st.session_state['data_editor']['edited_rows'][changed_idx]:
extended_description_value.append(f"candidate: {st.session_state['data_editor']['edited_rows'][changed_idx]['candidate_version']}")
if 'release_version' in st.session_state['data_editor']['edited_rows'][changed_idx]:
extended_description_value.append(f"release: {st.session_state['data_editor']['edited_rows'][changed_idx]['release_version']}")
if 'product_version' in st.session_state['data_editor']['edited_rows'][changed_idx]:
extended_description_value.append(f"product: {st.session_state['data_editor']['edited_rows'][changed_idx]['product_version']}")
return '\n'.join(extended_description_value)
def set_version_json(edited_df):
data = {'datasaker': get_datasaker(),'service': json.loads(edited_df.to_json(orient='records'))}
with open('version.json', 'w') as file:
json.dump(data, file, indent=4)
def show_sidebar(df, edited_df):
with st.sidebar:
st.subheader('Git Push')
with st.expander('Git Push'):
commit_message = st.text_input('Commit Message', value='Update version.json')
extended_description = st.text_area('Extended description', value=set_extended_description(edited_df), height=200)
if st.button(key='push', label='Commit changes'):
if commit_message:
if diff_remote_head():
if df.equals(edited_df):
st.warning('No changes have been made', icon='⚠️')
else:
set_version_json(edited_df)
git_push(commit_message, extended_description)
st.success('Success', icon='')
time.sleep(1)
streamlit_js_eval(js_expressions='parent.window.location.reload()')
else:
st.error('Updates were rejected because the tip of your current branch is behind', icon='🚨')
st.divider()
st.subheader('Draft a new release')
with st.expander('Draft a new release'):
tags = [tag.name for tag in get_tags()]
tags.insert(0, "")
new_tag = st.text_input('Create a new tag')
if new_tag:
if new_tag in tags:
st.warning('Existing tag', icon='⚠️')
else:
tags.insert(0, new_tag)
selected_tag = st.selectbox('Choose a tag', tags)
release_title = st.text_input('Release title', value=selected_tag)
release_describe = st.text_area('Describe this release', value='## Production에 변경된 Version')
if st.button(key='release', label='Publish release'):
response = publish_release(selected_tag, release_title, release_describe)
if response.status_code == 201:
st.success('Release created successfully', icon='')
git_pull()
streamlit_js_eval(js_expressions='parent.window.location.reload()')
else:
st.error(f'Failed to create release. Status code: {response.status_code}', icon='🚨')
st.error(f'Response: {response.text}', icon='🚨')
st.divider()

View File

@@ -0,0 +1,3 @@
GitPython==3.1.32
streamlit==1.25.0
streamlit_js_eval==0.1.5

View File

@@ -1,21 +1,21 @@
{ {
"datasaker": "dsk-23.03.8", "datasaker": "dsk-23.03.12",
"service": [ "service": [
{ {
"type": "front", "type": "front",
"name": "dsk-ui", "name": "dsk-ui",
"latest_candidate_version": "release-0.2.10", "latest_candidate_version": "release-0.2.22",
"candidate_version": "release-0.2.10", "candidate_version": "release-0.2.22",
"release_version": "release-0.2.10", "release_version": "release-0.2.22",
"product_version": "release-0.2.10" "product_version": "release-0.2.22"
}, },
{ {
"type": "api", "type": "api",
"name": "dsk-agent-api", "name": "dsk-agent-api",
"latest_candidate_version": "release-0.1.13", "latest_candidate_version": "release-0.1.14",
"candidate_version": "release-0.1.13", "candidate_version": "release-0.1.14",
"release_version": "release-0.1.13", "release_version": "release-0.1.14",
"product_version": "release-0.1.13" "product_version": "release-0.1.14"
}, },
{ {
"type": "api", "type": "api",
@@ -28,26 +28,26 @@
{ {
"type": "api", "type": "api",
"name": "dsk-alert-api", "name": "dsk-alert-api",
"latest_candidate_version": "release-0.1.17",
"candidate_version": "release-0.1.17",
"release_version": "release-0.1.17",
"product_version": "release-0.1.17"
},
{
"type": "api",
"name": "dsk-apm-api",
"latest_candidate_version": "release-0.1.15", "latest_candidate_version": "release-0.1.15",
"candidate_version": "release-0.1.15", "candidate_version": "release-0.1.15",
"release_version": "release-0.1.15", "release_version": "release-0.1.15",
"product_version": "release-0.1.15" "product_version": "release-0.1.15"
}, },
{
"type": "api",
"name": "dsk-apm-api",
"latest_candidate_version": "release-0.1.14",
"candidate_version": "release-0.1.14",
"release_version": "release-0.1.14",
"product_version": "release-0.1.14"
},
{ {
"type": "api", "type": "api",
"name": "dsk-chart-api", "name": "dsk-chart-api",
"latest_candidate_version": "release-0.2.5", "latest_candidate_version": "release-0.2.8",
"candidate_version": "release-0.2.5", "candidate_version": "release-0.2.8",
"release_version": "release-0.2.5", "release_version": "release-0.2.8",
"product_version": "release-0.2.5" "product_version": "release-0.2.8"
}, },
{ {
"type": "api", "type": "api",
@@ -60,18 +60,18 @@
{ {
"type": "api", "type": "api",
"name": "dsk-database-api", "name": "dsk-database-api",
"latest_candidate_version": "release-0.1.14", "latest_candidate_version": "release-0.1.22",
"candidate_version": "release-0.1.14", "candidate_version": "release-0.1.22",
"release_version": "release-0.1.14", "release_version": "release-0.1.22",
"product_version": "release-0.1.14" "product_version": "release-0.1.22"
}, },
{ {
"type": "api", "type": "api",
"name": "dsk-infrastructure-api", "name": "dsk-infrastructure-api",
"latest_candidate_version": "release-0.1.14", "latest_candidate_version": "release-0.1.15",
"candidate_version": "release-0.1.14", "candidate_version": "release-0.1.15",
"release_version": "release-0.1.14", "release_version": "release-0.1.15",
"product_version": "release-0.1.14" "product_version": "release-0.1.15"
}, },
{ {
"type": "api", "type": "api",
@@ -84,10 +84,10 @@
{ {
"type": "api", "type": "api",
"name": "dsk-notification-api", "name": "dsk-notification-api",
"latest_candidate_version": "release-0.2.5", "latest_candidate_version": "release-0.2.6",
"candidate_version": "release-0.2.5", "candidate_version": "release-0.2.6",
"release_version": "release-0.2.5", "release_version": "release-0.2.6",
"product_version": "release-0.2.5" "product_version": "release-0.2.6"
}, },
{ {
"type": "api", "type": "api",
@@ -140,10 +140,10 @@
{ {
"type": "api", "type": "api",
"name": "dsk-billing-api", "name": "dsk-billing-api",
"latest_candidate_version": "release-0.1.1", "latest_candidate_version": "release-0.1.2",
"candidate_version": "release-0.1.1", "candidate_version": "release-0.1.2",
"release_version": "", "release_version": "release-0.1.2",
"product_version": "release-0.1.1" "product_version": "release-0.1.2"
}, },
{ {
"type": "stream", "type": "stream",
@@ -188,10 +188,10 @@
{ {
"type": "stream", "type": "stream",
"name": "dsk-tagging-connector", "name": "dsk-tagging-connector",
"latest_candidate_version": "release-0.1.9", "latest_candidate_version": "release-0.1.10",
"candidate_version": "release-0.1.9", "candidate_version": "release-0.1.10",
"release_version": "release-0.1.9", "release_version": "release-0.1.10",
"product_version": "release-0.1.9" "product_version": "release-0.1.10"
}, },
{ {
"type": "stream", "type": "stream",
@@ -199,7 +199,7 @@
"latest_candidate_version": "release-0.1.3", "latest_candidate_version": "release-0.1.3",
"candidate_version": "release-0.1.3", "candidate_version": "release-0.1.3",
"release_version": "release-0.1.3", "release_version": "release-0.1.3",
"product_version": "release-0.1.2" "product_version": "release-0.1.3"
}, },
{ {
"type": "stream", "type": "stream",
@@ -215,12 +215,12 @@
"latest_candidate_version": "release-0.1.6", "latest_candidate_version": "release-0.1.6",
"candidate_version": "release-0.1.6", "candidate_version": "release-0.1.6",
"release_version": "release-0.1.6", "release_version": "release-0.1.6",
"product_version": "release-0.1.4" "product_version": "release-0.1.6"
}, },
{ {
"type": "datagate", "type": "datagate",
"name": "dsk-loggate", "name": "dsk-loggate",
"latest_candidate_version": "release-0.1.4", "latest_candidate_version": "release-0.1.5",
"candidate_version": "release-0.1.4", "candidate_version": "release-0.1.4",
"release_version": "release-0.1.3", "release_version": "release-0.1.3",
"product_version": "release-0.1.3" "product_version": "release-0.1.3"