mirror of https://github.com/openspug/spug
20220525
parent
a78b0f2a5a
commit
42ac74ff1c
|
@ -45,10 +45,13 @@ export default observer(function () {
|
|||
extra="可以由字母、数字、-和下划线组成。">
|
||||
<Input placeholder="请输入唯一标识符,例如:api_order"/>
|
||||
</Form.Item>
|
||||
<Form.Item name="module" label="模块名称">
|
||||
<Input.TextArea placeholder="请输入模块名称,号分割" />
|
||||
</Form.Item>
|
||||
<Form.Item name="desc" label="备注信息">
|
||||
<Input.TextArea placeholder="请输入备注信息"/>
|
||||
</Form.Item>
|
||||
</Form>
|
||||
</Modal>
|
||||
)
|
||||
})
|
||||
})
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { observer } from 'mobx-react';
|
||||
import { Modal, Form, Input, Select, DatePicker, Button, message } from 'antd';
|
||||
import { Modal, Form, Input, Select, DatePicker, Button, message,Checkbox } from 'antd';
|
||||
import { LoadingOutlined, SyncOutlined } from '@ant-design/icons';
|
||||
import HostSelector from './HostSelector';
|
||||
import hostStore from 'pages/host/store';
|
||||
|
@ -75,6 +75,7 @@ export default observer(function () {
|
|||
formData['type'] = store.record.type;
|
||||
formData['extra'] = [git_type, extra1, extra2];
|
||||
if (plan) formData.plan = plan.format('YYYY-MM-DD HH:mm:00');
|
||||
formData['module'] = formData['module1'].join(',');
|
||||
http.post('/api/deploy/request/ext1/', formData)
|
||||
.then(res => {
|
||||
message.success('操作成功');
|
||||
|
@ -138,7 +139,11 @@ export default observer(function () {
|
|||
}
|
||||
}
|
||||
|
||||
const {app_host_ids, type, rb_id} = store.record;
|
||||
const {app_host_ids, type, rb_id ,module} = store.record;
|
||||
let module_list = [];
|
||||
if (module) {
|
||||
module_list = module.split(',');
|
||||
}
|
||||
const {branches, tags} = versions;
|
||||
return (
|
||||
<Modal
|
||||
|
@ -225,6 +230,11 @@ export default observer(function () {
|
|||
</Select>
|
||||
</Form.Item>
|
||||
)}
|
||||
{module && (
|
||||
<Form.Item required name="module1" label="模块选择" tooltip="会覆盖SPUG_RELEASE的值">
|
||||
<Checkbox.Group options={module_list}></Checkbox.Group>
|
||||
</Form.Item>
|
||||
)}
|
||||
<Form.Item required label="目标主机" tooltip="可以通过创建多个发布申请单,选择主机分批发布。">
|
||||
{host_ids.length > 0 && (
|
||||
<span style={{marginRight: 16}}>已选择 {host_ids.length} 台(可选{app_host_ids.length})</span>
|
||||
|
@ -233,7 +243,7 @@ export default observer(function () {
|
|||
</Form.Item>
|
||||
<Form.Item name="desc" label="备注信息">
|
||||
<Input placeholder="请输入备注信息"/>
|
||||
</Form.Item>
|
||||
</Form.Item>
|
||||
{type !== '2' && (
|
||||
<Form.Item label="定时发布" tooltip="在到达指定时间后自动发布,会有最多1分钟的延迟。">
|
||||
<DatePicker
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import { observer } from 'mobx-react';
|
||||
import { UploadOutlined } from '@ant-design/icons';
|
||||
import { Modal, Form, Input, Upload, DatePicker, message, Button } from 'antd';
|
||||
import { Modal, Form, Input, Upload, DatePicker, message, Button ,Checkbox} from 'antd';
|
||||
import hostStore from 'pages/host/store';
|
||||
import HostSelector from './HostSelector';
|
||||
import { http, clsNames, X_TOKEN } from 'libs';
|
||||
|
@ -42,6 +42,7 @@ export default observer(function () {
|
|||
formData['deploy_id'] = store.record.deploy_id;
|
||||
if (plan) formData.plan = plan.format('YYYY-MM-DD HH:mm:00');
|
||||
if (fileList.length > 0) formData['extra'] = lds.pick(fileList[0], ['path', 'name']);
|
||||
formData['module'] = formData['module1'].join(',');
|
||||
http.post('/api/deploy/request/ext2/', formData)
|
||||
.then(res => {
|
||||
message.success('操作成功');
|
||||
|
@ -70,7 +71,11 @@ export default observer(function () {
|
|||
return false
|
||||
}
|
||||
|
||||
const {app_host_ids, deploy_id, type, require_upload} = store.record;
|
||||
const { app_host_ids, deploy_id, type, require_upload, module } = store.record;
|
||||
let module_list = [];
|
||||
if (module) {
|
||||
module_list = module.split(',');
|
||||
}
|
||||
return (
|
||||
<Modal
|
||||
visible
|
||||
|
@ -90,6 +95,11 @@ export default observer(function () {
|
|||
tooltip="可以在自定义脚本中引用该变量,用于设置本次发布相关的动态变量,在脚本中通过 $SPUG_RELEASE 来使用该值。">
|
||||
<Input placeholder="请输入环境变量 SPUG_RELEASE 的值"/>
|
||||
</Form.Item>
|
||||
{module && (
|
||||
<Form.Item required name="module1" label="模块选择" tooltip="会覆盖SPUG_RELEASE的值">
|
||||
<Checkbox.Group options={module_list}></Checkbox.Group>
|
||||
</Form.Item>
|
||||
)}
|
||||
{require_upload && (
|
||||
<Form.Item required label="上传数据" tooltip="通过数据传输动作来使用上传的文件。"
|
||||
className={clsNames(styles.upload, fileList.length ? styles.uploadHide : null)}>
|
||||
|
@ -128,4 +138,4 @@ export default observer(function () {
|
|||
onOk={ids => setHostIds(ids)}/>}
|
||||
</Modal>
|
||||
)
|
||||
})
|
||||
})
|
||||
|
|
|
@ -167,6 +167,11 @@ function ComTable() {
|
|||
return null
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '模块',
|
||||
dataIndex: 'module',
|
||||
hide: true
|
||||
}];
|
||||
|
||||
function DoAction(props) {
|
||||
|
|
|
@ -97,8 +97,8 @@ class Store {
|
|||
};
|
||||
|
||||
confirmAdd = (deploy) => {
|
||||
const {id, host_ids, require_upload} = deploy;
|
||||
this.record = {deploy_id: id, app_host_ids: host_ids, require_upload};
|
||||
const {id, host_ids, require_upload, module} = deploy;
|
||||
this.record = {deploy_id: id, app_host_ids: host_ids, require_upload, module};
|
||||
if (deploy.extend === '1') {
|
||||
this.ext1Visible = true
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue