跳至主要內容

deploy脚本备份

微信公众号:储凡2023/9/9大约 2 分钟

deploy脚本备份

#!/usr/bin/env node
/**
 *
 * 例如:
 *  - ./scripts/deploy ali
 *  - ./scripts/deploy github
 */

const packageVersion = require('../package.json').version
const { execShell } = require('./.exec')

const dockerDeployInfo = {
  repoAddress: 'registry.cn-hangzhou.aliyuncs.com/142vip/doc_book',
  containerName: 'JavaScriptCollection',
  networkName: 'service_env_net'
}
const imageName = `${dockerDeployInfo.repoAddress}:${dockerDeployInfo.containerName}-${packageVersion}`

// 支持的命令
const SupportScripts = {
  Github: `
        set -e
        ./scripts/bundle proxy && cd docs/.vuepress/dist
        git init && git add -A
        ## 配置信息
        git config user.name 'chu fan'
        git config user.email 'fairy_vip@2925.com'
        git config --list
        git commit -m "release v${packageVersion}"
        ## 部署到github pages
        git push -f https://github.com/mmdapl/JavaScriptCollection.git master:pages/github
        cd -
      `,
  Ali: [
    // 容器存在即删除
    `
        if docker inspect --format='{{.State.Running}}' ${dockerDeployInfo.containerName} >/dev/null 2>&1;then
          docker rm -f ${dockerDeployInfo.containerName}
          exit 0;
        else
          echo "容器:${dockerDeployInfo.containerName},不存在"
          exit 1;
        fi
      `,
    // 镜像存在即删除
    `
        if [ "$(docker images -q ${imageName} 2> /dev/null)" != "" ];then
          docker rmi ${imageName}
          exit 0;
        else
          echo -e "镜像:${imageName},不存在"
          exit 1;
        fi
      `,
    // 运行容器
    `
        docker run -d --name ${dockerDeployInfo.containerName} \
        -p 7100:80 \
        --network=${dockerDeployInfo.networkName}  \
        --restart=unless-stopped \
        --ip=172.30.0.200 \
        ${imageName}
       `
  ]
}

const deployName = process.argv[2]

function getDeployCommand() {
  let deployCommand = SupportScripts.Ali
  // 部署到阿里云服务器
  if (deployName === 'ali') {
    deployCommand = SupportScripts.Ali
  }
  // 部署到Github
  if (deployName === 'github') {
    deployCommand = SupportScripts.Github
  }
  return deployCommand
}

// 执行
;(async () => {
  const deployCommand = getDeployCommand()
  // console.log(deployCommand)
  await execShell(deployCommand)
})()

更新日志

2026/9/22 10:45
查看所有更新日志
  • 440c8-docs: 为文档补齐 permalink 并更新本地开发端口说明
  • bc13b-docs: 更新文档
  • 842f3-feat: 调整导航栏,对文档排版和显示做了些优化
  • 5a2b2-feat: 移除markdown-cli模块,采用prettier校验文档格式
  • 2cdc5-feat: 删除deploy和docker脚本,备份对应逻辑
  • 1f9f6-fix(scripts): 优化deploy脚本,修复镜像构建异常
  • 85da2-chore: 新增scripts脚本