2 lines
61 KiB
JavaScript
2 lines
61 KiB
JavaScript
import{i as hs,j as e,L as R,P as G,r as n,f as Vs,m as Gs,B as p,C as I,Q as E,al as V,S as ge,v as te,N as ye,am as gs,G as ue,V as Is,o as ve,D as rs,a as ls,b as ds,c as ps}from"./index-CwVkcMR-.js";import{C as Ws,a as Js}from"./card-C5qBu7CR.js";import{I as g}from"./input-B5ad6Rfz.js";import{B as y}from"./badge-DgJ0w7jf.js";import{T as Qs}from"./textarea-BZOXMpxW.js";import{L as d}from"./label-mg-tHjNc.js";import{S as Y,a as Z,b as ee,c as se,d as v}from"./select-CGtvCG8I.js";import{d as be,c as qs,p as b}from"./deploy-C6PfjuUR.js";import{t as x}from"./index-Dxvx0mlR.js";import{C as W}from"./circle-x-DBoylLde.js";import{P as je}from"./plus-CaJ-dB4A.js";import{A as S}from"./arrow-right-aZAKUdlE.js";import{S as Hs}from"./search-1PdnG-g5.js";import{L as Ks}from"./layers-BulUCMo7.js";import{C as Us}from"./code-BNPtZGxu.js";import{C as Pe}from"./circle-stop-BXP5btnb.js";import{P as Xs}from"./play-_cqG4jyc.js";import{H as Ys}from"./history-DUPeIzQi.js";import{T as is}from"./trash-2-BPpnm3Sz.js";import{B as Zs}from"./box-D54sw_gB.js";import{T as xs}from"./tag-6KLmbFcH.js";import{F as ms}from"./file-text-DGoBtmAr.js";import"./index-CBIZnJrN.js";import"./chevron-up-DM77dvsL.js";const ea=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]],sa=hs("package",ea);const aa=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],ta=hs("workflow",aa);function na(c){return c.toLowerCase().replace(/[^a-z0-9]/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")||`pipeline-${Date.now()}`}function oa(c){switch(c){case"success":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:49:9",variant:"outline",className:"border-emerald-500/30 text-emerald-400 bg-emerald-500/10",children:[e.jsx(G,{"code-path":"src/components/deploy/pipeline-helpers.tsx:50:11",className:"h-3 w-3 mr-1"}),"成功"]});case"failed":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:56:9",variant:"outline",className:"border-red-500/30 text-red-400 bg-red-500/10",children:[e.jsx(W,{"code-path":"src/components/deploy/pipeline-helpers.tsx:57:11",className:"h-3 w-3 mr-1"}),"失败"]});case"running":return e.jsxs(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:63:9",variant:"outline",className:"border-blue-500/30 text-blue-400 bg-blue-500/10 animate-pulse",children:[e.jsx(R,{"code-path":"src/components/deploy/pipeline-helpers.tsx:64:11",className:"h-3 w-3 mr-1 animate-spin"}),"运行中"]});default:return e.jsx(y,{"code-path":"src/components/deploy/pipeline-helpers.tsx:70:9",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",children:"从未运行"})}}const ae=[{key:"checkout",label:"代码检出",icon:E,color:"#6366F1",order:1,needs:["repo"],desc:"从 Git 仓库拉取代码"},{key:"build",label:"构建",icon:Zs,color:"#F59E0B",order:2,needs:[],desc:"编译/打包项目"},{key:"test",label:"测试",icon:G,color:"#10B981",order:3,needs:[],desc:"运行单元/集成测试"},{key:"image",label:"镜像打包",icon:te,color:"#06B6D4",order:4,needs:["registry"],desc:"Docker 构建 & 推送"},{key:"deploy",label:"部署",icon:V,color:"#EF4444",order:5,needs:[],desc:"部署到目标环境"},{key:"verify",label:"验证",icon:gs,color:"#3B82F6",order:6,needs:[],desc:"部署后健康检查"}].sort((c,j)=>c.order-j.order);function Me(c){if(!c)return"-";if(c<60)return`${c}s`;const j=Math.floor(c/60),i=c%60;return i>0?`${j}分${i}秒`:`${j}分`}function ca(c){if(!c)return[];try{const j=typeof c=="string"?JSON.parse(c):c;return Array.isArray(j)?j:[]}catch{return[]}}function Ta(){const[c,j]=n.useState(""),[i,J]=n.useState([]),[Q,B]=n.useState(!0),[M,w]=n.useState({}),[q,D]=n.useState({}),[N,L]=n.useState({}),[T,A]=n.useState("all"),[r,Ne]=n.useState({}),[ys,F]=n.useState(!1),[H,fe]=n.useState(""),[k,we]=n.useState(""),[ke,_e]=n.useState(""),[ne,Ce]=n.useState(""),[Se,Re]=n.useState("main"),[Ee,Be]=n.useState(""),[m,De]=n.useState(["checkout","build","image","deploy"]),[,us]=n.useState(""),[,vs]=n.useState(""),[oe,Le]=n.useState("branch"),[Te,Ae]=n.useState("ssh"),[ce,Fe]=n.useState(""),[re,ze]=n.useState(!1),[bs,js]=n.useState([]),[Ps,Ms]=n.useState([]),[K,$e]=n.useState(""),[_,Oe]=n.useState(""),[z,Ve]=n.useState("manual"),[Ge,Ie]=n.useState(""),[We,Je]=n.useState(""),[Qe,le]=n.useState(""),[qe,He]=n.useState(""),[P,C]=n.useState([]),[Ke,Ue]=n.useState(""),[Xe,Ns]=n.useState(2),[,fs]=n.useState([]),[,ws]=n.useState([]),[ks,_s]=n.useState([]),[,la]=n.useState([]),[,da]=n.useState([]),[Cs,Ye]=n.useState(!1),[$,Ss]=n.useState(null),[Ze,es]=n.useState([]),ss=Vs(),as=Gs(),Rs=[{key:"all",label:"全部",icon:Ks,color:"#6B7280"},{key:"production",label:"生产",icon:gs,color:"#EF4444"},{key:"testing",label:"测试",icon:G,color:"#F59E0B"},{key:"staging",label:"预发布",icon:ue,color:"#8B5CF6"},{key:"development",label:"开发",icon:Us,color:"#3B82F6"}],Es=n.useCallback(async()=>{try{const[s,a,t,o]=await Promise.all([be.getRepos().catch(()=>({list:[]})),be.getRegistries().catch(()=>({list:[]})),be.getEnvironments().catch(()=>({list:[]})),qs.list({page_size:100}).catch(()=>({list:[]}))]);fs(Array.isArray(s?.list)?s.list:[]),ws(Array.isArray(a?.list)?a.list:[]),_s(Array.isArray(t?.list)?t.list:[]);const h=o?.list||[];js(h.filter(u=>u.secret_type==="api")),Ms(h.filter(u=>u.secret_type==="docker"))}catch{}},[]),O=n.useCallback(async()=>{B(!0);try{const s=await b.getPipelines();J(Array.isArray(s?.list)?s.list:[])}catch{x.error("获取流水线列表失败")}finally{B(!1)}},[]);n.useEffect(()=>{Es(),O()},[]),n.useEffect(()=>{i.forEach(s=>{s.last_status==="running"&&!r[s.id]&&b.getRuns(s.id).then(a=>{const o=(a?.list||[]).find(h=>h.status==="running"||h.status==="pending");o&&Ne(h=>({...h,[s.id]:o}))}).catch(()=>{})})},[i]);const de=async(s,a)=>{L(t=>({...t,[s]:!0}));try{const t=await b.getRuns(a);D(o=>({...o,[s]:t?.list||[]}))}catch{D(t=>({...t,[s]:[]}))}finally{L(t=>({...t,[s]:!1}))}},Bs=(s,a)=>{M[s]?w(t=>({...t,[s]:!1})):(de(s,a),w(t=>({...t,[s]:!0})))},Ds=async()=>{if(!H.trim()){x.error("请输入流水线名称");return}if(m.includes("checkout")&&!ne.trim()){x.error("代码检出阶段需要填写 Git URL");return}if(m.includes("image")&&!_){x.error("镜像打包阶段需要关联 Docker 凭证");return}ze(!0);try{const s=m.map(t=>ae.find(o=>o.key===t)?.label||t),a=JSON.stringify(s.map((t,o)=>({id:`stage-${o+1}`,name:t,type:m[o]||"custom",tasks:[]})));await b.createPipeline({name:H,code:na(H),job_name:k||void 0,description:ke,source:ne,branch:Se,dockerfile:Ee,type:"deploy",stages:a,deploy_mode:oe,deploy_target:Te,environment_id:ce?Number(ce):null,repo_id:null,registry_id:null,git_credential_id:K?Number(K):null,registry_credential_id:_?Number(_):null,trigger_mode:z,watch_branches:Ge||void 0,exclude_branch:We||void 0,cron_expr:Qe||void 0,webhook_token:qe||void 0,variables:P.length>0?JSON.stringify(P):void 0,cache_paths:Ke||void 0,max_executors:Xe}),x.success("流水线已创建"),F(!1),Ls(),O()}catch{x.error("创建失败")}finally{ze(!1)}},Ls=()=>{fe(""),we(""),_e(""),Ce(""),Re("main"),Be(""),De(["checkout","build","image","deploy"]),us(""),vs(""),Le("branch"),Ae("ssh"),Fe(""),$e(""),Oe(""),Ve("manual"),Ie(""),Je(""),le(""),He(""),C([]),Ue("")},Ts=async(s,a)=>{try{await b.triggerPipeline(a),x.success("已触发"),de(s,a),O()}catch{x.error("触发失败")}},pe=async(s,a,t)=>{if(await ss({title:"停止运行",description:"确定要停止此运行吗?",variant:"destructive"}))try{await b.stopRun(a,t),x.success("已停止"),de(s,a),Ne(h=>{const u={...h};return delete u[s],u})}catch{x.error("停止失败")}},As=async(s,a)=>{const t=r[s];if(!t){try{const h=((await b.getRuns(a))?.list||[]).find(u=>u.status==="running"||u.status==="pending");h?await pe(s,a,h.id):x.error("未找到运行中的任务")}catch{x.error("停止失败")}return}await pe(s,a,t.id)},Fs=async(s,a)=>{Ss(a),Ye(!0);try{const t=await b.getRunLog(s,a.id);es(t?.logs||[])}catch{es([])}},zs=async s=>{if(await ss({title:"删除流水线",description:`确定删除「${s.name}」?`,variant:"destructive"}))try{await b.deletePipeline(s.code),x.success("已删除"),O()}catch{x.error("删除失败")}},ts=i.filter(s=>{const a=(s.name||"").toLowerCase().includes(c.toLowerCase())||(s.description||"").toLowerCase().includes(c.toLowerCase()),t=T==="all"||(s.environment?.type||"")===T;return a&&t});return i.length,i.filter(s=>s.last_status==="running").length,i.filter(s=>s.last_status==="success").length,i.filter(s=>s.last_status==="failed").length,e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:284:5",className:"space-y-5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:285:7",className:"flex items-center justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:286:9",children:[e.jsx("h1",{"code-path":"src/components/deploy/PipelineManager.tsx:287:11",className:"text-2xl font-bold text-[var(--dg-text-primary)]",children:"流水线"}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:288:11",className:"text-sm text-[var(--dg-text-secondary)] mt-1",children:"CI/CD 构建 · 部署 · 发布一体化"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:290:9",className:"flex items-center gap-2",children:[e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:291:11",variant:"outline",className:"border-[var(--dg-border)] text-[var(--dg-text-secondary)]",onClick:O,children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:292:13",className:`h-4 w-4 mr-2 ${Q?"animate-spin":""}`}),"刷新"]}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:294:11",onClick:()=>F(!0),children:[e.jsx(je,{"code-path":"src/components/deploy/PipelineManager.tsx:294:52",className:"h-4 w-4 mr-2"}),"新建流水线"]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:299:7",className:"flex items-stretch gap-3 px-4 py-3 rounded-lg bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:301:9",className:"flex-1 space-y-1.5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:302:11",className:"flex items-center gap-1.5",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineManager.tsx:303:13",className:"h-3 w-3 text-indigo-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:304:13",className:"text-[10px] font-semibold text-indigo-400",children:"构建"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:305:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsx(V,{"code-path":"src/components/deploy/PipelineManager.tsx:306:13",className:"h-3 w-3 text-red-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:307:13",className:"text-[10px] font-semibold text-red-400",children:"部署"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:308:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:309:13",className:"flex items-center gap-1 px-2 py-0.5 rounded bg-blue-400/10 border border-blue-400/20",children:[e.jsx(ge,{"code-path":"src/components/deploy/PipelineManager.tsx:310:15",className:"h-3 w-3 text-blue-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:311:15",className:"text-[10px] font-medium text-blue-400",children:"SSH 主机"})]})]}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:314:11",className:"text-[9px] text-[var(--dg-text-secondary)] opacity-40 pl-1",children:"传统主机 SCP 部署 · 无需镜像仓库"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:317:9",className:"w-px bg-[var(--dg-border)]"}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:319:9",className:"flex-1 space-y-1.5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:320:11",className:"flex items-center gap-1.5",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineManager.tsx:321:13",className:"h-3 w-3 text-indigo-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:322:13",className:"text-[10px] font-semibold text-indigo-400",children:"构建"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:323:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsx(te,{"code-path":"src/components/deploy/PipelineManager.tsx:324:13",className:"h-3 w-3 text-cyan-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:325:13",className:"text-[10px] font-semibold text-cyan-400",children:"镜像仓库"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:326:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsx(V,{"code-path":"src/components/deploy/PipelineManager.tsx:327:13",className:"h-3 w-3 text-red-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:328:13",className:"text-[10px] font-semibold text-red-400",children:"部署"}),e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:329:13",className:"h-2.5 w-2.5 text-[var(--dg-text-secondary)] opacity-30"}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:330:13",className:"flex items-center gap-1 px-2 py-0.5 rounded bg-emerald-400/10 border border-emerald-400/20",children:[e.jsx(ye,{"code-path":"src/components/deploy/PipelineManager.tsx:331:15",className:"h-3 w-3 text-emerald-400"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:332:15",className:"text-[10px] font-medium text-emerald-400",children:"Kubernetes"})]})]}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:335:11",className:"text-[9px] text-[var(--dg-text-secondary)] opacity-40 pl-1",children:"容器化部署 · 需镜像仓库推送"})]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:337:9",className:"self-center ml-2 text-[10px] text-[var(--dg-text-secondary)] opacity-30 tracking-wide whitespace-nowrap",children:"全流程可视化"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:340:7",className:"flex items-center gap-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:341:9",className:"relative max-w-md flex-1",children:[e.jsx(Hs,{"code-path":"src/components/deploy/PipelineManager.tsx:342:11",className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-[var(--dg-text-secondary)]"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:343:11",placeholder:"搜索流水线...",value:c,onChange:s=>j(s.target.value),className:"pl-10 bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:346:9",className:"flex items-center gap-1 bg-[var(--dg-bg-secondary)] rounded-lg p-1 border border-[var(--dg-border)]",children:Rs.map(s=>{const a=T===s.key,t=s.icon;return e.jsxs("button",{"code-path":"src/components/deploy/PipelineManager.tsx:351:15",onClick:()=>A(s.key),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-medium transition-all ${a?"text-white shadow-sm":"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)]"}`,style:a?{backgroundColor:s.color}:{},children:[e.jsx(t,{"code-path":"src/components/deploy/PipelineManager.tsx:355:17",className:"h-3.5 w-3.5"}),s.label]},s.key)})})]}),Q?e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:363:9",className:"flex items-center justify-center py-12",children:e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:363:65",className:"h-6 w-6 text-[var(--dg-text-secondary)] animate-spin"})}):ts.length===0?e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:365:9",className:"text-center py-16 text-[var(--dg-text-secondary)]",children:[e.jsx(ta,{"code-path":"src/components/deploy/PipelineManager.tsx:366:11",className:"h-10 w-10 mx-auto mb-3 opacity-30"}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:367:11",className:"text-sm",children:"暂无流水线"}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:368:11",variant:"outline",className:"mt-4",onClick:()=>F(!0),children:[e.jsx(je,{"code-path":"src/components/deploy/PipelineManager.tsx:368:87",className:"h-4 w-4 mr-1"}),"创建第一个流水线"]})]}):e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:371:9",className:"space-y-3",children:ts.map(s=>{const a=ca(s.stages),t=q[s.id]||[],o=M[s.id],h=N[s.id],u=s.repo,ns=s.registry;return e.jsx(Ws,{"code-path":"src/components/deploy/PipelineManager.tsx:379:15",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] overflow-hidden",children:e.jsxs(Js,{"code-path":"src/components/deploy/PipelineManager.tsx:380:17",className:"p-0",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:381:19",className:"px-4 py-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:382:21",className:"flex items-start justify-between",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:383:23",className:"flex-1 min-w-0",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:384:25",className:"flex items-center gap-2 flex-wrap",children:[e.jsx("h3",{"code-path":"src/components/deploy/PipelineManager.tsx:385:27",className:"font-semibold text-[var(--dg-text-primary)]",children:s.name}),s.run_count>0&&e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:386:54",variant:"outline",className:"text-[11px] text-[var(--dg-text-secondary)] border-[var(--dg-border)]",children:["#",s.run_count]}),oa(s.last_status),s.environment&&e.jsx(y,{"code-path":"src/components/deploy/PipelineManager.tsx:388:52",style:{backgroundColor:s.environment.color+"20",color:s.environment.color},className:"text-xs",children:s.environment.display_name}),s.job_name&&e.jsx(y,{"code-path":"src/components/deploy/PipelineManager.tsx:389:49",variant:"secondary",className:"text-xs font-mono opacity-60",children:s.job_name})]}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:391:25",className:"text-xs text-[var(--dg-text-secondary)] mt-1 line-clamp-1",children:s.description||"暂无描述"}),(s.last_run_branch||s.last_commit_id||s.last_image_tag)&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:394:27",className:"flex items-center gap-1 mt-1.5 text-xs font-mono",children:[s.last_run_branch&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:396:31",className:"flex items-center gap-0.5 text-indigo-400",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineManager.tsx:397:33",className:"h-3 w-3"}),s.last_run_branch]}),s.last_run_branch&&s.last_commit_id&&e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:401:31",className:"text-[var(--dg-text-secondary)] opacity-50 text-[10px] mx-0.5",children:"+"}),s.last_commit_id&&e.jsx("code",{"code-path":"src/components/deploy/PipelineManager.tsx:404:31",className:"text-amber-400 bg-amber-400/10 px-1 py-0.5 rounded text-[11px]",children:s.last_commit_id.slice(0,8)}),(s.last_run_branch||s.last_commit_id)&&s.last_image_tag&&e.jsx(S,{"code-path":"src/components/deploy/PipelineManager.tsx:407:31",className:"h-3 w-3 text-[var(--dg-text-secondary)] opacity-40 mx-0.5"}),s.last_image_tag&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:410:31",className:"flex items-center gap-0.5 text-cyan-400",children:[e.jsx(sa,{"code-path":"src/components/deploy/PipelineManager.tsx:411:33",className:"h-3 w-3"}),e.jsx("code",{"code-path":"src/components/deploy/PipelineManager.tsx:412:33",className:"bg-cyan-400/10 px-1 py-0.5 rounded text-[11px]",children:s.last_image_tag})]}),s.last_duration>0&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:416:31",className:"flex items-center gap-0.5 ml-auto text-[var(--dg-text-secondary)] opacity-50",children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:417:33",className:"h-3 w-3"}),Me(s.last_duration)]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:422:25",className:"flex items-center gap-3 mt-1.5 text-xs text-[var(--dg-text-secondary)] opacity-60",children:[e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:423:27",className:"flex items-center gap-1",children:[e.jsx(E,{"code-path":"src/components/deploy/PipelineManager.tsx:423:69",className:"h-3 w-3"}),s.deploy_mode==="tag"?"Tag发版":s.branch||"main"]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:424:27",className:"flex items-center gap-1",children:(s.deploy_target||"ssh")==="k8s"?e.jsxs(e.Fragment,{children:[e.jsx(ye,{"code-path":"src/components/deploy/PipelineManager.tsx:424:118",className:"h-3 w-3"}),"Kubernetes"]}):e.jsxs(e.Fragment,{children:[e.jsx(ge,{"code-path":"src/components/deploy/PipelineManager.tsx:424:167",className:"h-3 w-3"}),"SSH 主机"]})}),u&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:425:36",className:"flex items-center gap-1",children:[e.jsx(ue,{"code-path":"src/components/deploy/PipelineManager.tsx:425:78",className:"h-3 w-3"}),u.name]}),ns&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:426:40",className:"flex items-center gap-1",children:[e.jsx(te,{"code-path":"src/components/deploy/PipelineManager.tsx:426:82",className:"h-3 w-3"}),ns.name]}),s.last_run_at&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:427:52",children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:427:58",className:"h-3 w-3 inline mr-0.5"}),new Date(s.last_run_at).toLocaleString("zh-CN")]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:430:23",className:"flex items-center gap-1 ml-4 shrink-0",children:[s.last_status==="running"?e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:432:27",variant:"destructive",size:"sm",className:"h-8",onClick:()=>As(s.id,s.code),children:[e.jsx(Pe,{"code-path":"src/components/deploy/PipelineManager.tsx:433:29",className:"h-3.5 w-3.5 mr-1"}),"停止"]}):e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:436:27",variant:"default",size:"sm",className:"h-8",onClick:()=>Ts(s.id,s.code),children:[e.jsx(Xs,{"code-path":"src/components/deploy/PipelineManager.tsx:437:29",className:"h-3.5 w-3.5 mr-1"}),"执行"]}),e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:440:25",variant:"outline",size:"sm",className:"h-8",onClick:()=>as(`/pipelines/${s.code||s.id}`),children:"编辑"}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:441:25",variant:"outline",size:"sm",className:"h-8",onClick:()=>as(`/pipelines/${s.code||s.id}/runs`),children:[e.jsx(Ys,{"code-path":"src/components/deploy/PipelineManager.tsx:442:27",className:"h-3.5 w-3.5 mr-1"}),"记录"]}),e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:443:25",variant:"ghost",size:"sm",className:"h-8",onClick:()=>Bs(s.id,s.code),children:o?e.jsx(Is,{"code-path":"src/components/deploy/PipelineManager.tsx:444:41",className:"h-4 w-4"}):e.jsx(ve,{"code-path":"src/components/deploy/PipelineManager.tsx:444:79",className:"h-4 w-4"})}),e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:446:25",variant:"ghost",size:"icon",className:"h-8 w-8 text-red-500",onClick:()=>zs(s),children:e.jsx(is,{"code-path":"src/components/deploy/PipelineManager.tsx:446:133",className:"h-4 w-4"})})]})]}),a.length>0&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:450:23",className:"flex items-center mt-2.5",children:a.map((l,U)=>{const os=ae.find(X=>X.label===l.name);os?.icon||xs;let f="";if(s.last_run_stages)try{const X=typeof s.last_run_stages=="string"?JSON.parse(s.last_run_stages):s.last_run_stages;f=(Array.isArray(X)?X.find(cs=>cs.name===l.name||cs.type===os?.key):null)?.status||""}catch{}const ie=f==="success"||f==="completed",xe=f==="running"||f==="in_progress",me=f==="failed"||f==="error",he=me?"#EF4444":xe?"#3B82F6":ie?"#10B981":"#6B7280",$s=me?"#EF444528":xe?"#3B82F628":ie?"#10B98128":"#6B728018",Os=me?e.jsx(W,{"code-path":"src/components/deploy/PipelineManager.tsx:468:51",className:"h-3 w-3"}):xe?e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:468:97",className:"h-3 w-3 animate-spin"}):ie?e.jsx(G,{"code-path":"src/components/deploy/PipelineManager.tsx:468:156",className:"h-3 w-3"}):e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:468:194",className:"text-[10px] opacity-40",children:"○"});return e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:470:29",className:"flex items-center",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:471:31",className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[11px] font-semibold border shadow-sm",style:{backgroundColor:$s,borderColor:he+"70",color:he,borderRadius:U===0?"8px 0 0 8px":U===a.length-1?"0 8px 8px 0":"0"},children:[Os,l.name]}),U<a.length-1&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:476:33",className:"flex items-center justify-center w-5 h-5 -mx-px z-10",children:e.jsx(ve,{"code-path":"src/components/deploy/PipelineManager.tsx:477:35",className:"h-3.5 w-3.5",style:{color:he+"CC"}})})]},U)})})]}),o&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:487:21",className:"border-t border-[var(--dg-border)]",children:[e.jsx(ra,{"code-path":"src/components/deploy/PipelineManager.tsx:488:23",pipeline:s,clusterId:""}),h?e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:490:25",className:"flex items-center justify-center py-6",children:e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:490:80",className:"h-5 w-5 animate-spin text-[var(--dg-text-secondary)]"})}):t.length===0?e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:492:25",className:"py-6 text-center text-[var(--dg-text-secondary)] text-sm",children:"暂无执行记录"}):e.jsxs("table",{"code-path":"src/components/deploy/PipelineManager.tsx:494:25",className:"w-full text-sm",children:[e.jsx("thead",{"code-path":"src/components/deploy/PipelineManager.tsx:495:27",className:"border-b border-[var(--dg-border)]",children:e.jsxs("tr",{"code-path":"src/components/deploy/PipelineManager.tsx:495:81",className:"bg-[var(--dg-bg-tertiary)]",children:[e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:496:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"#"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:497:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"状态"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:498:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"触发人"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:499:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"耗时"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:500:29",className:"px-4 py-2 text-left text-xs font-medium text-[var(--dg-text-secondary)]",children:"时间"}),e.jsx("th",{"code-path":"src/components/deploy/PipelineManager.tsx:501:29",className:"px-4 py-2 text-right text-xs font-medium text-[var(--dg-text-secondary)]",children:"操作"})]})}),e.jsx("tbody",{"code-path":"src/components/deploy/PipelineManager.tsx:503:27",children:t.map(l=>e.jsxs("tr",{"code-path":"src/components/deploy/PipelineManager.tsx:505:31",className:"border-b border-[var(--dg-border)] hover:bg-[var(--dg-bg-tertiary)]/50",children:[e.jsxs("td",{"code-path":"src/components/deploy/PipelineManager.tsx:506:33",className:"px-4 py-2 font-medium text-[var(--dg-text-primary)]",children:["#",l.build_number||l.id]}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:507:33",className:"px-4 py-2",children:l.status==="success"?e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:508:61",className:"bg-emerald-500/20 text-emerald-400 border-emerald-500/30 text-[11px]",children:[e.jsx(G,{"code-path":"src/components/deploy/PipelineManager.tsx:508:149",className:"h-3 w-3 mr-0.5"}),"成功"]}):l.status==="failed"?e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:509:60",className:"bg-red-500/20 text-red-400 border-red-500/30 text-[11px]",children:[e.jsx(W,{"code-path":"src/components/deploy/PipelineManager.tsx:509:136",className:"h-3 w-3 mr-0.5"}),"失败"]}):l.status==="running"?e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:510:61",className:"bg-blue-500/20 text-blue-400 border-blue-500/30 text-[11px]",children:[e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:510:140",className:"h-3 w-3 animate-spin mr-0.5"}),"执行中"]}):l.status==="cancelled"?e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:511:63",className:"bg-yellow-500/20 text-yellow-400 border-yellow-500/30 text-[11px]",children:[e.jsx(Pe,{"code-path":"src/components/deploy/PipelineManager.tsx:511:148",className:"h-3 w-3 mr-0.5"}),"已停止"]}):e.jsx(y,{"code-path":"src/components/deploy/PipelineManager.tsx:512:36",variant:"secondary",className:"text-[11px]",children:l.status})}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:514:33",className:"px-4 py-2 text-[var(--dg-text-secondary)] text-xs",children:l.triggered_by||"admin"}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:515:33",className:"px-4 py-2 text-[var(--dg-text-secondary)] text-xs",children:Me(l.duration)}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:516:33",className:"px-4 py-2 text-[var(--dg-text-secondary)] text-xs",children:l.created_at?new Date(l.created_at).toLocaleString("zh-CN"):"-"}),e.jsx("td",{"code-path":"src/components/deploy/PipelineManager.tsx:517:33",className:"px-4 py-2 text-right",children:e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:518:35",className:"flex items-center justify-end gap-1",children:[e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:519:37",variant:"ghost",size:"sm",className:"h-7 text-xs text-blue-400 hover:text-blue-300",onClick:()=>Fs(s.code,l),children:[e.jsx(ms,{"code-path":"src/components/deploy/PipelineManager.tsx:519:177",className:"h-3.5 w-3.5 mr-1"}),"日志"]}),(l.status==="running"||l.status==="pending")&&e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:521:39",variant:"ghost",size:"sm",className:"h-7 text-xs text-red-400 hover:text-red-300",onClick:()=>pe(s.id,s.code,l.id),children:[e.jsx(Pe,{"code-path":"src/components/deploy/PipelineManager.tsx:521:190",className:"h-3.5 w-3.5 mr-1"}),"停止"]})]})})]},l.id))})]})]})]})},s.id)})}),e.jsx(rs,{"code-path":"src/components/deploy/PipelineManager.tsx:540:7",open:ys,onOpenChange:F,children:e.jsxs(ls,{"code-path":"src/components/deploy/PipelineManager.tsx:541:9",className:"max-w-2xl max-h-[85vh] overflow-y-auto bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsx(ds,{"code-path":"src/components/deploy/PipelineManager.tsx:542:11",children:e.jsxs(ps,{"code-path":"src/components/deploy/PipelineManager.tsx:542:25",className:"flex items-center gap-2",children:[e.jsx(V,{"code-path":"src/components/deploy/PipelineManager.tsx:542:74",className:"h-5 w-5"}),"新建流水线"]})}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:543:11",className:"space-y-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:545:13",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:546:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:547:17",children:["名称 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:547:27",className:"text-red-400",children:"*"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:548:17",value:H,onChange:s=>fe(s.target.value),placeholder:"例如: demo-jar 后端部署",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:550:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:551:17",children:["Job 名称 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:551:31",className:"text-xs text-[var(--dg-text-secondary)]",children:"(Webhook URL)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:552:17",value:k,onChange:s=>we(s.target.value),placeholder:"cex-admin-server",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9 font-mono text-sm"}),k&&e.jsxs("p",{"code-path":"src/components/deploy/PipelineManager.tsx:553:32",className:"text-[10px] text-[var(--dg-text-secondary)] opacity-60",children:["Webhook: POST .../webhook/job/",e.jsx("b",{"code-path":"src/components/deploy/PipelineManager.tsx:553:132",children:k})]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:556:13",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:556:40",children:"描述"}),e.jsx(Qs,{"code-path":"src/components/deploy/PipelineManager.tsx:556:57",value:ke,onChange:s=>_e(s.target.value),placeholder:"流水线描述...",rows:2,className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:559:13",className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:560:15",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:561:17",children:"部署模式"}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:562:17",className:"flex gap-1 bg-[var(--dg-bg-secondary)] rounded-lg p-1 border border-[var(--dg-border)]",children:[{key:"branch",label:"分支",icon:E},{key:"tag",label:"Tag 发版",icon:xs}].map(s=>{const a=oe===s.key;return e.jsxs("button",{"code-path":"src/components/deploy/PipelineManager.tsx:569:23",onClick:()=>Le(s.key),className:`flex-1 flex items-center justify-center gap-1 px-2 py-1.5 rounded-md text-xs font-medium transition-all ${a?"bg-blue-500 text-white":"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)]"}`,children:[e.jsx(s.icon,{"code-path":"src/components/deploy/PipelineManager.tsx:572:25",className:"h-3.5 w-3.5"}),s.label]},s.key)})})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:578:15",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:579:17",children:"部署目标"}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:580:17",className:"flex gap-1 bg-[var(--dg-bg-secondary)] rounded-lg p-1 border border-[var(--dg-border)]",children:[{key:"ssh",label:"SSH 主机",icon:ge},{key:"k8s",label:"Kubernetes 集群",icon:ye}].map(s=>{const a=Te===s.key;return e.jsxs("button",{"code-path":"src/components/deploy/PipelineManager.tsx:587:23",onClick:()=>Ae(s.key),className:`flex-1 flex items-center justify-center gap-1 px-2 py-1.5 rounded-md text-xs font-medium transition-all ${a?"bg-green-500 text-white":"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)]"}`,children:[e.jsx(s.icon,{"code-path":"src/components/deploy/PipelineManager.tsx:590:25",className:"h-3.5 w-3.5"}),s.label]},s.key)})})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:596:15",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:597:17",children:"环境分组"}),e.jsxs(Y,{"code-path":"src/components/deploy/PipelineManager.tsx:598:17",value:String(ce),onValueChange:s=>Fe(s==="__none"?"":s),children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineManager.tsx:599:19",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineManager.tsx:599:104",placeholder:"选择环境"})}),e.jsxs(se,{"code-path":"src/components/deploy/PipelineManager.tsx:600:19",children:[e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:601:21",value:"__none",children:"不指定"}),ks.map(s=>e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:603:23",value:String(s.id),children:e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:604:25",className:"flex items-center gap-1.5",children:[e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:605:27",className:"w-2 h-2 rounded-full inline-block",style:{backgroundColor:s.color}}),s.display_name]})},s.id))]})]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:616:13",className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:617:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:618:17",children:["Git URL ",m.includes("checkout")&&e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:618:72",className:"text-red-400",children:"*"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:619:17",value:ne,onChange:s=>Ce(s.target.value),placeholder:"https://gitee.com/user/repo.git",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9 font-mono text-xs"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:622:15",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:623:17",children:"分支 / Tag"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:624:17",value:Se,onChange:s=>Re(s.target.value),placeholder:oe==="tag"?"v1.0.0":"main",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:627:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:628:17",children:["Git 凭证 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:628:31",className:"text-xs text-[var(--dg-text-secondary)] opacity-60",children:"(API Token)"})]}),e.jsxs(Y,{"code-path":"src/components/deploy/PipelineManager.tsx:629:17",value:String(K),onValueChange:s=>$e(s==="__none"?"":s),children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineManager.tsx:630:19",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineManager.tsx:630:104",placeholder:"选择凭证"})}),e.jsxs(se,{"code-path":"src/components/deploy/PipelineManager.tsx:631:19",children:[e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:632:21",value:"__none",children:"不关联"}),bs.map(s=>e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:634:23",value:String(s.id),children:e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:635:25",className:"flex items-center gap-1.5",children:[e.jsx(ue,{"code-path":"src/components/deploy/PipelineManager.tsx:635:69",className:"h-3 w-3 opacity-60"}),s.name," ",s.summary&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:635:132",className:"text-[10px] opacity-50",children:["(",s.summary,")"]})]})},s.id))]})]}),!K&&m.includes("checkout")&&e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:640:80",className:"text-xs text-amber-400",children:"建议关联凭证"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:642:15",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:643:17",children:["镜像仓库凭证 ",m.includes("image")&&e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:643:68",className:"text-red-400",children:"*"})]}),e.jsxs(Y,{"code-path":"src/components/deploy/PipelineManager.tsx:644:17",value:String(_),onValueChange:s=>Oe(s==="__none"?"":s),children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineManager.tsx:645:19",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineManager.tsx:645:104",placeholder:"选择 Docker 凭证"})}),e.jsxs(se,{"code-path":"src/components/deploy/PipelineManager.tsx:646:19",children:[e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:647:21",value:"__none",children:"不关联"}),Ps.map(s=>e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:649:23",value:String(s.id),children:e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:650:25",className:"flex items-center gap-1.5",children:[e.jsx(te,{"code-path":"src/components/deploy/PipelineManager.tsx:650:69",className:"h-3 w-3 opacity-60"}),s.name," ",s.summary&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:650:136",className:"text-[10px] opacity-50",children:["(",s.summary,")"]})]})},s.id))]})]}),!_&&m.includes("image")&&e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:655:82",className:"text-xs text-amber-400",children:"需要关联 Docker 凭证"})]})]}),_&&k&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:660:15",className:"p-2.5 rounded-md bg-blue-500/5 border border-blue-500/20 text-xs text-[var(--dg-text-secondary)]",children:[e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:661:17",className:"text-blue-400",children:"镜像命名:"}),e.jsxs("code",{"code-path":"src/components/deploy/PipelineManager.tsx:662:17",className:"text-[var(--dg-text-primary)]",children:["{registry}","/","{namespace}","/","{","{JOB_BASE_NAME}","}",":","{","{tag}","}"]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:663:17",className:"ml-2 opacity-60",children:"例:"}),e.jsxs("code",{"code-path":"src/components/deploy/PipelineManager.tsx:664:17",className:"opacity-60",children:["harbor.ast1001.com/test/",k,":latest"]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:667:13",className:"space-y-1",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:667:40",children:"Dockerfile 路径"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:667:68",value:Ee,onChange:s=>Be(s.target.value),placeholder:"jar/Dockerfile",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-9 font-mono text-xs"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:670:13",className:"space-y-2",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:671:15",children:["发布流程 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:671:27",className:"text-xs text-[var(--dg-text-secondary)] opacity-70 ml-1",children:"按顺序选择阶段"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:672:15",className:"flex flex-wrap gap-2",children:ae.map(s=>{const a=m.includes(s.key);return e.jsxs(y,{"code-path":"src/components/deploy/PipelineManager.tsx:676:21",className:`cursor-pointer transition-all text-xs px-3 py-1.5 ${a?"border-current":"border-[var(--dg-border)] opacity-50 hover:opacity-80"}`,style:a?{backgroundColor:s.color+"20",color:s.color,borderColor:s.color}:{},onClick:()=>De(a?m.filter(t=>t!==s.key):[...m,s.key]),title:s.desc,children:[e.jsx(s.icon,{"code-path":"src/components/deploy/PipelineManager.tsx:681:23",className:"h-3 w-3 mr-1"}),s.label," ",s.needs.includes("repo")?"🔗":"",s.needs.includes("registry")?"📦":""]},s.key)})}),m.length>0&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:687:17",className:"flex items-center mt-2",children:m.map((s,a)=>{const t=ae.find(o=>o.key===s);return e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:691:23",className:"flex items-center",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:692:25",className:"flex items-center gap-1 px-2 py-1 text-[11px] font-medium border",style:{backgroundColor:t.color+"20",borderColor:t.color+"40",color:t.color,borderRadius:a===0?"6px 0 0 6px":a===m.length-1?"0 6px 6px 0":"0"},children:[e.jsx(t.icon,{"code-path":"src/components/deploy/PipelineManager.tsx:694:27",className:"h-3 w-3"}),t.label]}),a<m.length-1&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:697:27",className:"flex items-center justify-center w-4 h-5 -mx-px z-10",children:e.jsx(ve,{"code-path":"src/components/deploy/PipelineManager.tsx:698:29",className:"h-3 w-3",style:{color:t.color}})})]},a)})})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:709:13",className:"border-t border-[var(--dg-border)] pt-4",children:[e.jsx(d,{"code-path":"src/components/deploy/PipelineManager.tsx:710:15",className:"mb-2 block",children:"触发方式"}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:711:15",className:"flex gap-1 bg-[var(--dg-bg-secondary)] rounded-lg p-1 border border-[var(--dg-border)]",children:[{key:"manual",label:"手动",desc:"手动触发执行"},{key:"git_push",label:"代码推送",desc:"Git Push 自动触发"},{key:"cron",label:"定时",desc:"Cron 定时执行"},{key:"webhook",label:"Webhook",desc:"外部 Webhook 调用"}].map(s=>{const a=z===s.key;return e.jsx("button",{"code-path":"src/components/deploy/PipelineManager.tsx:720:21",onClick:()=>Ve(s.key),className:`flex-1 flex flex-col items-center gap-0.5 px-2 py-2 rounded-md text-xs font-medium transition-all ${a?"bg-blue-500 text-white":"text-[var(--dg-text-secondary)] hover:text-[var(--dg-text-primary)]"}`,title:s.desc,children:s.label},s.key)})}),z==="git_push"&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:732:17",className:"mt-3 space-y-2 p-3 rounded-md bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:733:19",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:734:21",className:"text-xs",children:["监听分支 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:734:53",className:"text-[var(--dg-text-secondary)] opacity-60",children:"(逗号分隔,支持 * 通配)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:735:21",value:Ge,onChange:s=>Ie(s.target.value),placeholder:"release/*, main",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] h-8 font-mono text-xs"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:738:19",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:739:21",className:"text-xs",children:["排除分支 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:739:53",className:"text-[var(--dg-text-secondary)] opacity-60",children:"(不触发构建)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:740:21",value:We,onChange:s=>Je(s.target.value),placeholder:"wip/*, draft/*",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] h-8 font-mono text-xs"})]})]}),z==="cron"&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:748:17",className:"mt-3 space-y-2 p-3 rounded-md bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:749:19",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:750:21",className:"text-xs",children:["Cron 表达式 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:750:57",className:"text-[var(--dg-text-secondary)] opacity-60",children:"(标准 5 位)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:751:21",value:Qe,onChange:s=>le(s.target.value),placeholder:"0 2 * * *",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] h-8 font-mono text-xs"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:754:19",className:"flex flex-wrap gap-1.5",children:[{expr:"*/5 * * * *",label:"每5分钟"},{expr:"0 * * * *",label:"每小时"},{expr:"0 2 * * *",label:"每天2点"},{expr:"0 0 * * 0",label:"每周日"}].map(s=>e.jsx(y,{"code-path":"src/components/deploy/PipelineManager.tsx:761:23",variant:"outline",className:"cursor-pointer text-[10px] hover:bg-blue-500/10",onClick:()=>le(s.expr),children:s.label},s.expr))})]}),z==="webhook"&&e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:770:17",className:"mt-3 space-y-2 p-3 rounded-md bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:771:19",className:"space-y-1",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:772:21",className:"text-xs",children:["Webhook Token ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:772:62",className:"text-[var(--dg-text-secondary)] opacity-60",children:"(签名验证,可选)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:773:21",value:qe,onChange:s=>He(s.target.value),placeholder:"随机字符串",className:"bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)] h-8 font-mono text-xs"})]}),e.jsxs("p",{"code-path":"src/components/deploy/PipelineManager.tsx:776:19",className:"text-[10px] text-[var(--dg-text-secondary)] opacity-60",children:["Webhook URL: ",e.jsxs("code",{"code-path":"src/components/deploy/PipelineManager.tsx:777:34",className:"text-[var(--dg-blue)]",children:["POST /api/v1/webhook/pipeline/","{code}"]})]})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:784:13",className:"border-t border-[var(--dg-border)] pt-4",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:785:15",className:"flex items-center justify-between mb-2",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:786:17",children:["环境变量 ",e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:786:29",className:"text-xs text-[var(--dg-text-secondary)] opacity-60",children:["($","{VAR_NAME}"," 引用)"]})]}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:787:17",variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>C([...P,{key:"",value:"",desc:""}]),children:[e.jsx(je,{"code-path":"src/components/deploy/PipelineManager.tsx:789:19",className:"h-3 w-3 mr-1"}),"添加变量"]})]}),P.length===0?e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:793:17",className:"text-xs text-[var(--dg-text-muted)] py-2",children:'暂无变量,点击"添加变量"新增'}):e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:795:17",className:"space-y-2",children:P.map((s,a)=>e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:797:21",className:"grid grid-cols-12 gap-2 items-start p-2 rounded-md bg-[var(--dg-bg-secondary)] border border-[var(--dg-border)]",children:[e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:798:23",value:s.key,onChange:t=>{const o=[...P];o[a]={...o[a],key:t.target.value},C(o)},placeholder:"变量名",className:"col-span-3 h-8 text-xs font-mono bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:801:23",value:s.value,onChange:t=>{const o=[...P];o[a]={...o[a],value:t.target.value},C(o)},placeholder:"变量值",className:"col-span-4 h-8 text-xs font-mono bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:804:23",value:s.desc,onChange:t=>{const o=[...P];o[a]={...o[a],desc:t.target.value},C(o)},placeholder:"说明",className:"col-span-4 h-8 text-xs bg-[var(--dg-bg-tertiary)] border-[var(--dg-border)]"}),e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:807:23",variant:"ghost",size:"icon",className:"col-span-1 h-8 w-8 text-red-400",onClick:()=>C(P.filter((t,o)=>o!==a)),children:e.jsx(is,{"code-path":"src/components/deploy/PipelineManager.tsx:809:25",className:"h-3.5 w-3.5"})})]},a))})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:818:13",className:"border-t border-[var(--dg-border)] pt-4",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:819:15",className:"mb-2 block",children:["构建缓存 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:819:50",className:"text-xs text-[var(--dg-text-secondary)] opacity-60",children:"(加速后续构建)"})]}),e.jsx(g,{"code-path":"src/components/deploy/PipelineManager.tsx:820:15",value:Ke,onChange:s=>Ue(s.target.value),placeholder:"node_modules, .m2, target",className:"bg-[var(--dg-bg-secondary)] border-[var(--dg-border)] h-8 text-xs font-mono"}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:822:15",className:"text-[10px] text-[var(--dg-text-secondary)] opacity-50 mt-1",children:"多个路径用逗号分隔,相同的 Key 会命中已有缓存"})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:826:13",className:"border-t border-[var(--dg-border)] pt-4",children:[e.jsxs(d,{"code-path":"src/components/deploy/PipelineManager.tsx:827:15",className:"mb-2 block",children:["并发执行数 ",e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:827:51",className:"text-xs text-[var(--dg-text-secondary)] opacity-60",children:"(Number of executors)"})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:828:15",className:"flex items-center gap-2",children:e.jsxs(Y,{"code-path":"src/components/deploy/PipelineManager.tsx:829:17",value:String(Xe),onValueChange:s=>Ns(Number(s)),children:[e.jsx(Z,{"code-path":"src/components/deploy/PipelineManager.tsx:830:19",className:"w-32 h-8 text-xs bg-[var(--dg-bg-secondary)] border-[var(--dg-border)]",children:e.jsx(ee,{"code-path":"src/components/deploy/PipelineManager.tsx:831:21"})}),e.jsxs(se,{"code-path":"src/components/deploy/PipelineManager.tsx:833:19",children:[e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:834:21",value:"1",children:"1 — 串行"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:835:21",value:"2",children:"2"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:836:21",value:"3",children:"3"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:837:21",value:"4",children:"4"}),e.jsx(v,{"code-path":"src/components/deploy/PipelineManager.tsx:838:21",value:"5",children:"5"})]})]})}),e.jsx("p",{"code-path":"src/components/deploy/PipelineManager.tsx:842:15",className:"text-[10px] text-[var(--dg-text-secondary)] opacity-50 mt-1",children:"设为 1 则按顺序串行执行,默认 2 可并发构建"})]})]}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:845:11",className:"flex justify-end gap-2 mt-4 pt-4 border-t border-[var(--dg-border)]",children:[e.jsx(p,{"code-path":"src/components/deploy/PipelineManager.tsx:846:13",variant:"outline",onClick:()=>F(!1),children:"取消"}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:847:13",onClick:Ds,disabled:re,children:[re?e.jsx(R,{"code-path":"src/components/deploy/PipelineManager.tsx:848:25",className:"h-4 w-4 animate-spin mr-1"}):e.jsx(V,{"code-path":"src/components/deploy/PipelineManager.tsx:848:77",className:"h-4 w-4 mr-1"}),re?"创建中...":"创建流水线"]})]})]})}),e.jsx(rs,{"code-path":"src/components/deploy/PipelineManager.tsx:856:7",open:Cs,onOpenChange:Ye,children:e.jsxs(ls,{"code-path":"src/components/deploy/PipelineManager.tsx:857:9",className:"max-w-3xl max-h-[85vh] overflow-y-auto bg-[var(--dg-bg-primary)] border-[var(--dg-border)] text-[var(--dg-text-primary)]",children:[e.jsx(ds,{"code-path":"src/components/deploy/PipelineManager.tsx:858:11",children:e.jsxs(ps,{"code-path":"src/components/deploy/PipelineManager.tsx:858:25",className:"flex items-center gap-2",children:[e.jsx(ms,{"code-path":"src/components/deploy/PipelineManager.tsx:858:74",className:"h-5 w-5"}),"执行日志 #",$?.build_number||$?.id]})}),e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:859:11",className:"space-y-3",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:860:13",className:"flex flex-wrap gap-3 text-sm text-[var(--dg-text-secondary)]",children:[e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:861:15",children:["触发方式: ",$?.triggered_by||"manual"]}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:862:15",children:["分支: ",$?.branch||"-"]}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:863:15",children:["耗时: ",Me($?.duration)]})]}),e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:865:13",className:"bg-slate-950 rounded-md p-3 max-h-[50vh] overflow-y-auto font-mono text-xs",children:Ze.length===0?e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:866:36",className:"text-slate-500 py-4 text-center",children:"暂无日志"}):Ze.map((s,a)=>e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:868:19",className:"flex gap-2 py-0.5",children:[e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:869:21",className:"text-slate-500 shrink-0",children:["[",s.time,"]"]}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:870:21",className:s.level==="error"?"text-red-400":s.level==="warn"?"text-yellow-400":s.level==="success"?"text-green-400":"text-slate-300",children:[s.level==="success"?"✓":s.level==="error"?"✗":s.level==="warn"?"!":">"," ",s.message]})]},a))})]})]})})]})}function ra({pipeline:c,clusterId:j}){const[i,J]=n.useState(null),[Q,B]=n.useState(!1),M=c.code||c.id,w=async()=>{if(M){B(!0);try{const r=await b.getQueue(M);J(r?.data||r)}catch{J(null)}finally{B(!1)}}};n.useEffect(()=>{w();const r=setInterval(w,1e4);return()=>clearInterval(r)},[M]);const q=async r=>{try{await b.removeFromQueue(M,r),x.success("已取消"),w()}catch{x.error("取消失败")}},D=i?.running||0,N=i?.queued||0,L=i?.queue_ids||[],T=c.max_executors||2,A=i?.pending_runs||[];return Q&&!i||D===0&&N===0?null:e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:919:5",className:"px-4 py-2 space-y-2",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:921:7",className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:922:9",className:"text-[var(--dg-text-secondary)]",children:"构建执行状态"}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:923:9",className:"font-bold text-[var(--dg-text-primary)]",children:[D,"/",T]}),N>0&&e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:925:11",className:"text-[var(--dg-text-secondary)] ml-2",children:["构建队列 ",e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:926:18",className:"font-bold text-amber-400",children:["(",N,")"]})]})]}),N>0&&A.length>0&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:933:9",className:"space-y-1",children:A.map(r=>e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:935:13",className:"flex items-center justify-between bg-[var(--dg-bg-tertiary)] rounded px-3 py-1.5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:936:15",className:"flex items-center gap-2 text-xs",children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:937:17",className:"h-3 w-3 text-amber-400"}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:938:17",className:"text-[var(--dg-text-secondary)] font-mono",children:["#",r.build_number||r.id]}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:939:17",className:"text-[var(--dg-text-secondary)]",children:r.branch||"-"}),e.jsx("span",{"code-path":"src/components/deploy/PipelineManager.tsx:940:17",className:"text-[var(--dg-text-secondary)] opacity-50",children:r.triggered_by||"-"})]}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:942:15",variant:"ghost",size:"sm",className:"h-6 text-xs text-red-400 hover:text-red-300",onClick:()=>q(r.id),children:[e.jsx(W,{"code-path":"src/components/deploy/PipelineManager.tsx:943:17",className:"h-3 w-3 mr-1"}),"取消"]})]},r.id))}),N>0&&A.length===0&&L.length>0&&e.jsx("div",{"code-path":"src/components/deploy/PipelineManager.tsx:952:9",className:"space-y-1",children:L.map(r=>e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:954:13",className:"flex items-center justify-between bg-[var(--dg-bg-tertiary)] rounded px-3 py-1.5",children:[e.jsxs("div",{"code-path":"src/components/deploy/PipelineManager.tsx:955:15",className:"flex items-center gap-2 text-xs",children:[e.jsx(I,{"code-path":"src/components/deploy/PipelineManager.tsx:956:17",className:"h-3 w-3 text-amber-400"}),e.jsxs("span",{"code-path":"src/components/deploy/PipelineManager.tsx:957:17",className:"text-[var(--dg-text-muted)] font-mono",children:["Run #",r]})]}),e.jsxs(p,{"code-path":"src/components/deploy/PipelineManager.tsx:959:15",variant:"ghost",size:"sm",className:"h-6 text-xs text-red-400 hover:text-red-300",onClick:()=>q(r),children:[e.jsx(W,{"code-path":"src/components/deploy/PipelineManager.tsx:960:17",className:"h-3 w-3 mr-1"}),"取消"]})]},r))})]})}export{Ta as PipelineManager};
|