diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..eb2007c --- /dev/null +++ b/.drone.yml @@ -0,0 +1,219 @@ +--- +kind: pipeline +type: docker +name: development + +# 常量值 +constants: + - &DEVELOPMENT_HOST test.tall.wiki + - &DEVELOPMENT_CMD + - npm config set registry http://registry.npm.taobao.org + - npm i + - npm run build + - &DEVELOPMENT_SCP_TARGET /home/experiment + - &DEVELOPMENT_URL https://test.tall.wiki/experiment/ + - &DEVELOPMENT_PORT 22 + - &DEVELOPMENT_NODE_VERSION node:16 + - &DEVELOPMENT_BRANCH develop + - &DEVELOPMENT_SCP_SOURCE dist/* + - &SCP_STRIP_DIR_LEVEL 1 + - &NOTIFY_WECHATROBOT_WEBHOOK https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=428e5c5d-f992-4349-939d-9c99556e50b8 + + +# 挂载的主机卷,可以映射到docker容器中 +volumes: + # maven构建缓存(宿主机目录) + - name: ssh_key + host: + path: /root/.ssh/ + - name: cache + host: + path: /var/lib/cache + - name: data + host: + path: /var/lib/data + +steps: + - name: restore-cache + image: drillster/drone-volume-cache + volumes: + - name: cache + path: /cache + settings: + restore: true + mount: + - ./node_modules + + - name: build + image: *DEVELOPMENT_NODE_VERSION + pull: if-not-exists # default always + # volumes: + # - name: cache + # path: /root/.m2 + commands: *DEVELOPMENT_CMD + + - name: rebuild-cache + image: drillster/drone-volume-cache + volumes: + - name: cache + path: /cache + settings: + rebuild: true + mount: + - ./node_modules + + - name: deploy-scp + image: appleboy/drone-scp + pull: if-not-exists + volumes: + - name: ssh_key + path: /root/.ssh/ + settings: + host: *DEVELOPMENT_HOST + port: *DEVELOPMENT_PORT + username: root + key_path: /root/.ssh/id_rsa + rm: true # true则会删除目标目录重建 + target: *DEVELOPMENT_SCP_TARGET + source: *DEVELOPMENT_SCP_SOURCE + strip_components: 1 # 去除的目录层数,如果没有该选项,则拷贝过去是 target/xxx.jar,1代表去除target + + - name: notify-wechatwork + image: fifsky/drone-wechat-work + pull: if-not-exists + settings: + url: *NOTIFY_WECHATROBOT_WEBHOOK + msgtype: markdown + content: | + {{if eq .Status "success" }} + #### 🎉 ${DRONE_REPO} 测试环境构建成功 + > Branch: ${DRONE_BRANCH} + > Commit: [${DRONE_COMMIT_MESSAGE} ](${DRONE_COMMIT_LINK}) + > Author: ${DRONE_COMMIT_AUTHOR} + > PATH: https://test.tall.wiki/experiment/ + > [点击查看](https://test.tall.wiki/experiment/) + {{else}} + #### ❌ ${DRONE_REPO} 测试环境构建失败 + > Branch: ${DRONE_BRANCH} + > Commit: [${DRONE_COMMIT_MESSAGE} ](${DRONE_COMMIT_LINK}) + > Author: ${DRONE_COMMIT_AUTHOR} + > 请立即修复!!! + > [点击查看](https://test.tall.wiki/experiment/) + {{end}} + when: + status: + - failure + - success + +trigger: + branch: + - *DEVELOPMENT_BRANCH + +--- +kind: pipeline +type: docker +name: production + +# 常量值 +constants: + - &PRODUCTION_HOST www.tall.wiki + - &PRODUCTION_CMD + - npm config set registry http://registry.npm.taobao.org + - npm i + - npm run build:prop + - &PRODUCTION_SCP_TARGET /home/experiment + - &PRODUCTION_BRANCH master + - &PRODUCTION_PORT 22 + - &PRODUCTION_NODE_VERSION node:16 + - &PRODUCTION_SCP_SOURCE dist/* + - &SCP_STRIP_DIR_LEVEL 1 + - &NOTIFY_WECHATROBOT_WEBHOOK https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=428e5c5d-f992-4349-939d-9c99556e50b8 + +# 挂载的主机卷,可以映射到docker容器中 +volumes: + # maven构建缓存(宿主机目录) + - name: ssh_key + host: + path: /root/.ssh/ + - name: cache + host: + path: /var/lib/cache + - name: data + host: + path: /var/lib/data + +steps: + - name: restore-cache + image: drillster/drone-volume-cache + volumes: + - name: cache + path: /cache + settings: + restore: true + mount: + - ./node_modules + + - name: build + image: *PRODUCTION_NODE_VERSION + pull: if-not-exists # default always + # volumes: + # - name: cache + # path: /root/.m2 + commands: *PRODUCTION_CMD + + - name: rebuild-cache + image: drillster/drone-volume-cache + volumes: + - name: cache + path: /cache + settings: + rebuild: true + mount: + - ./node_modules + + - name: deploy-scp + image: appleboy/drone-scp + pull: if-not-exists + volumes: + - name: ssh_key + path: /root/.ssh/ + settings: + host: *PRODUCTION_HOST + port: *PRODUCTION_PORT + username: root + key_path: /root/.ssh/id_rsa + rm: true # true则会删除目标目录重建 + target: *PRODUCTION_SCP_TARGET + source: *PRODUCTION_SCP_SOURCE + strip_components: 1 # 去除的目录层数,如果没有该选项,则拷贝过去是 target/xxx.jar,1代表去除target + + - name: notify-wechatwork + image: fifsky/drone-wechat-work + pull: if-not-exists + settings: + url: *NOTIFY_WECHATROBOT_WEBHOOK + msgtype: markdown + content: | + {{if eq .Status "success" }} + #### 🎉 ${DRONE_REPO} 生产环境构建成功 + > Branch: ${DRONE_BRANCH} + > Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK}) + > Author: ${DRONE_COMMIT_AUTHOR} + > PATH: https://www.tall.wiki/experiment/ + > [点击查看](https://www.tall.wiki/experiment/) + {{else}} + #### ❌ ${DRONE_REPO} 生产环境构建失败 + > Branch: ${DRONE_BRANCH} + > Commit: [${DRONE_COMMIT_MESSAGE}](${DRONE_COMMIT_LINK}) + > Author: ${DRONE_COMMIT_AUTHOR} + > 请立即修复!!! + > [点击查看](https://www.tall.wiki/experiment/) + {{end}} + when: + status: + - failure + - success + +trigger: + branch: + - *PRODUCTION_BRANCH diff --git a/src/components/tall/left/Projects.vue b/src/components/tall/left/Projects.vue index 5d28925..c8e7443 100644 --- a/src/components/tall/left/Projects.vue +++ b/src/components/tall/left/Projects.vue @@ -188,6 +188,7 @@ async function getProjectsList() { // projectList.value = [...data]; store.commit('projects/setProjects', data); + getSubProject(); } catch (error) { message.info(error); throw new Error(error); @@ -234,7 +235,6 @@ function toDetail(item, sec, fir) { store.commit('layout/setFirPlanTime', { startTime: fir.startTime, endTime: fir.endTime }); store.commit('layout/setSecPlanTime', { startTime: sec.startTime, endTime: sec.endTime }); store.commit('layout/setThirdPlanTime', { startTime: item.startTime, endTime: item.endTime }); - getSubProject(item.id); } else if (sec) { store.commit('layout/setFirPlanTime', { startTime: sec.startTime, endTime: sec.endTime }); store.commit('layout/setSecPlanTime', { startTime: item.startTime, endTime: item.endTime }); @@ -268,11 +268,11 @@ async function deleteProject(param) { } // 根据ID查询实验信息 -async function getSubProject(id) { +async function getSubProject() { try { - const params = { param: { id } }; + const params = { param: { id: projectInfo.value.id } }; const data = await getExperimentation(params); - store.commit('projects/setExpreimentStatus', data.status); + store.commit('projects/setExpreimentStatus', data ? data.status : 0); } catch (error) { message.info(error); throw new Error(error); diff --git a/src/components/tall/task/LabReport.vue b/src/components/tall/task/LabReport.vue index b0db161..18d1ef1 100644 --- a/src/components/tall/task/LabReport.vue +++ b/src/components/tall/task/LabReport.vue @@ -99,10 +99,13 @@ if (!expreStatus.value && sessionStatus) { } if (expreStatus.value) { + console.log(expreStatus.value); if (expreStatus.value === 1 || expreStatus.value === 3 || expreStatus.value === 4) { isShowWarning.value = true; + isShowSuccess.value = false; tipsMessage.value = '数据已锁定,不可操作'; } else { + isShowWarning.value = false; isShowSuccess.value = true; tipsMessage.value = '数据未锁定,可操作'; }