| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import { exec } from 'child_process'
- const steps = [
- { name: '检查程序员精神状态', emoji: '🧐', command: 'echo "精神状态:适合摸鱼"' },
- { name: '编译TypeScript代码', emoji: '⚡', command: 'npm run build' },
- { name: '压缩打包', emoji: '📦', command: 'echo "打包完成!"' },
- { name: '上传到服务器', emoji: '🚀', command: 'scp -r dist/course root@haijunit.icu:/opt/course/' },
- { name: '重启服务', emoji: '🔁', command: 'echo "服务重启完成!"' }
- ]
- async function fancyDeploy() {
- console.log('🎬 开始表演部署魔术...\n')
- for (let i = 0; i < steps.length; i++) {
- const step = steps[i]
- const progress = `[${i + 1}/${steps.length}]`
- console.log(`${progress} ${step.emoji} ${step.name}`)
- try {
- await new Promise((resolve, reject) => {
- exec(step.command, (error) => {
- if (error && !step.command.startsWith('echo')) {
- reject(error)
- } else {
- console.log(` ✅ 完成\n`)
- resolve(true)
- }
- })
- })
- } catch (error) {
- console.log(` ❌ 失败: ${error}`)
- console.log('\n💡 建议:大声说"这在我电脑上是好的!"')
- return
- }
- }
- console.log('🎉 所有步骤完成!')
- console.log('🏆 恭喜你成功完成了一次华丽的部署!')
- }
- fancyDeploy()
|