mirror of
https://github.com/certd/certd.git
synced 2026-04-24 20:57:26 +08:00
chore: check before
This commit is contained in:
@@ -746,7 +746,7 @@ export default {
|
|||||||
captchaTest: "测试验证码",
|
captchaTest: "测试验证码",
|
||||||
captchaTestHelper: "保存后再点击测试,请务必测试通过了,再开启登录验证码",
|
captchaTestHelper: "保存后再点击测试,请务必测试通过了,再开启登录验证码",
|
||||||
|
|
||||||
pipelineValidTimeEnabled: "流水线有效期",
|
pipelineValidTimeEnabled: "启用流水线有效期",
|
||||||
pipelineValidTimeEnabledHelper: "是否启用流水线有效期",
|
pipelineValidTimeEnabledHelper: "是否启用流水线有效期",
|
||||||
certDomainAddToMonitorEnabled: "证书域名添加到证书监控",
|
certDomainAddToMonitorEnabled: "证书域名添加到证书监控",
|
||||||
certDomainAddToMonitorEnabledHelper: "创建证书流水线时是否可以选择将域名添加到证书监控",
|
certDomainAddToMonitorEnabledHelper: "创建证书流水线时是否可以选择将域名添加到证书监控",
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import SettingRegister from "/@/views/sys/settings/tabs/register.vue";
|
|||||||
import SettingPayment from "/@/views/sys/settings/tabs/payment.vue";
|
import SettingPayment from "/@/views/sys/settings/tabs/payment.vue";
|
||||||
import SettingSafe from "/@/views/sys/settings/tabs/safe.vue";
|
import SettingSafe from "/@/views/sys/settings/tabs/safe.vue";
|
||||||
import SettingCaptcha from "/@/views/sys/settings/tabs/captcha.vue";
|
import SettingCaptcha from "/@/views/sys/settings/tabs/captcha.vue";
|
||||||
|
import SettingCert from "/@/views/sys/settings/tabs/cert.vue";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import { useSettingStore } from "/@/store/settings";
|
import { useSettingStore } from "/@/store/settings";
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<vip-button class="ml-5" mode="button"></vip-button>
|
<vip-button class="ml-5" mode="button"></vip-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="helper">{{ t("certd.pipelineValidTimeEnabledHelper") }}</div>
|
<div class="helper">{{ t("certd.sys.setting.pipelineValidTimeEnabledHelper") }}</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item :label="t('certd.sys.setting.certDomainAddToMonitorEnabled')" :name="['public', 'certDomainAddToMonitorEnabled']">
|
<a-form-item :label="t('certd.sys.setting.certDomainAddToMonitorEnabled')" :name="['public', 'certDomainAddToMonitorEnabled']">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ export class PipelineController extends CrudController<PipelineService> {
|
|||||||
@Post('/trigger', { summary: Constants.per.authOnly })
|
@Post('/trigger', { summary: Constants.per.authOnly })
|
||||||
async trigger(@Query('id') id: number, @Query('stepId') stepId?: string) {
|
async trigger(@Query('id') id: number, @Query('stepId') stepId?: string) {
|
||||||
await this.authService.checkEntityUserId(this.ctx, this.getService(), id);
|
await this.authService.checkEntityUserId(this.ctx, this.getService(), id);
|
||||||
await this.service.trigger(id, stepId);
|
await this.service.trigger(id, stepId,true);
|
||||||
return this.ok({});
|
return this.ok({});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -368,17 +368,21 @@ export class PipelineService extends BaseService<PipelineEntity> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (immediateTriggerOnce) {
|
if (immediateTriggerOnce) {
|
||||||
await this.trigger(pipeline.id);
|
try{
|
||||||
await sleep(200);
|
await this.trigger(pipeline.id);
|
||||||
|
await sleep(200);
|
||||||
|
}catch(e){
|
||||||
|
logger.error(e);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async trigger(id: any, stepId?: string) {
|
async trigger(id: any, stepId?: string , doCheck = false) {
|
||||||
const entity: PipelineEntity = await this.info(id);
|
const entity: PipelineEntity = await this.info(id);
|
||||||
if (isComm()) {
|
if (doCheck) {
|
||||||
await this.checkHasDeployCount(id, entity.userId);
|
await this.beforeCheck(entity);
|
||||||
}
|
}
|
||||||
await this.checkUserStatus(entity.userId);
|
|
||||||
this.cron.register({
|
this.cron.register({
|
||||||
name: `pipeline.${id}.trigger.once`,
|
name: `pipeline.${id}.trigger.once`,
|
||||||
cron: null,
|
cron: null,
|
||||||
@@ -504,28 +508,42 @@ export class PipelineService extends BaseService<PipelineEntity> {
|
|||||||
*/
|
*/
|
||||||
async run(id: number, triggerId: string, stepId?: string) {
|
async run(id: number, triggerId: string, stepId?: string) {
|
||||||
const entity: PipelineEntity = await this.info(id);
|
const entity: PipelineEntity = await this.info(id);
|
||||||
const validTimeEnabled = await this.isPipelineValidTimeEnabled(entity)
|
|
||||||
if (!validTimeEnabled) {
|
|
||||||
logger.info(`流水线${id}已过期,不予执行`);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
await this.doRun(entity, triggerId, stepId);
|
await this.doRun(entity, triggerId, stepId);
|
||||||
}
|
}
|
||||||
|
|
||||||
async doRun(entity: PipelineEntity, triggerId: string, stepId?: string) {
|
async beforeCheck(entity: PipelineEntity) {
|
||||||
const id = entity.id;
|
const validTimeEnabled = await this.isPipelineValidTimeEnabled(entity)
|
||||||
|
if (!validTimeEnabled) {
|
||||||
|
throw new Error(`流水线${entity.id}已过期,不予执行`);
|
||||||
|
}
|
||||||
|
|
||||||
let suite: UserSuiteEntity = null;
|
let suite: UserSuiteEntity = null;
|
||||||
if (isComm()) {
|
if (isComm()) {
|
||||||
suite = await this.checkHasDeployCount(id, entity.userId);
|
suite = await this.checkHasDeployCount(entity.id, entity.userId);
|
||||||
}
|
}
|
||||||
try {
|
await this.checkUserStatus(entity.userId);
|
||||||
await this.checkUserStatus(entity.userId);
|
|
||||||
|
return {
|
||||||
|
suite
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async doRun(entity: PipelineEntity, triggerId: string, stepId?: string) {
|
||||||
|
|
||||||
|
let suite:any = null
|
||||||
|
try{
|
||||||
|
const res = await this.beforeCheck(entity);
|
||||||
|
suite = res.suite
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.info(e.message);
|
if(!triggerId){
|
||||||
return;
|
//手动执行
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
logger.error(`流水线${entity.id}触发${triggerId}失败:`, e);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const id = entity.id;
|
||||||
const pipeline = JSON.parse(entity.content);
|
const pipeline = JSON.parse(entity.content);
|
||||||
if (!pipeline.id) {
|
if (!pipeline.id) {
|
||||||
pipeline.id = id;
|
pipeline.id = id;
|
||||||
|
|||||||
Reference in New Issue
Block a user