码界工坊

htykm.cn
人生若只如初见

传奇私服网站新开网1.85

传奇私服网站新开网1.85_传奇私服网站新开网1.85中变_新开传奇

在 Ubuntu 上实现 Node.js 的自动化部署可以通过多种工具和方法来完成,下面将详细介绍如何使用 GitHub Actions 来实现前端项目的自动化部署。

1. 项目准备

  • 代码托管:确保你的项目代码已经托管在 GitHub 上。
  • GitHub Pages:如果你打算将项目部署到 GitHub Pages,确保你有一个 GitHub Pages 站点,或者准备部署到自己的服务器。

2. 创建 GitHub Actions 工作流

在你的项目根目录下创建一个 .github/workflows文件夹,然后在其中创建一个 deploy.yml文件,内容如下:

name: Deploy to GitHub Pageson:  push:    branches:      - mainjobs:  build-and-deploy:    runs-on: ubuntu-latest    steps:    - name: Checkout code      uses: actions/checkout@v3    - name: Set up Node.js      uses: actions/setup-node@v3      with:        node-version: '18'  # 你可以根据需要选择合适的 Node.js 版本    - name: Install dependencies      run: npm install    - name: Build project      run: npm run build    - name: Deploy to GitHub Pages      uses: JamesIves/github-pages-deploy-action@v4      with:        branch: gh-pages        folder: dist  # Vite 默认构建输出目录

3. 启用 GitHub Pages

进入你的 GitHub 仓库的 Settings,在左侧菜单选择 Pages,选择 gh-pages分支,点击 Save。等待 GitHub Actions 运行完毕,你的前端项目就会自动部署到 https://<你的用户名>.github.io/<你的仓库名>/

4. 部署到自己的服务器(Nginx + GitHub Actions)

如果你的前端项目需要部署到自己的服务器,可以使用 scp命令进行自动上传。修改 deploy.yml文件如下:

name: Deploy to Serveron:  push:    branches:      - mainjobs:  build-and-deploy:    runs-on: ubuntu-latest    steps:    - name: Checkout code      uses: actions/checkout@v3    - name: Set up Node.js      uses: actions/setup-node@v3      with:        node-version: '18'    - name: Install dependencies      run: npm install    - name: Build project      run: npm run build    - name: Deploy to Server      env:        SSH_PRIVATE_KEY: ${ {  secrets.SSH_PRIVATE_KEY }}        SERVER_USER: "your-user"        SERVER_HOST: "your-server-ip"        DEPLOY_PATH: "/var/www/html"      run: |        echo "$SSH_PRIVATE_KEY" >private_key.pem        chmod 600 private_key.pem        scp -o StrictHostKeyChecking=no -r dist/* $SERVER_USER@$SERVER_HOST:$DEPLOY_PATH

需要在 GitHub Secrets 配置 SSH_PRIVATE_KEY,用于 SSH 免密登录服务器。DEPLOY_PATH是你的服务器 Web 目录,Nginx 需要指向这个路径。

5. 常见问题与优化

  • 环境变量:可以在 GitHub Secret 中配置环境变量。
  • 处理构建产物:确保构建产物(如 dist目录)正确生成并上传。
  • 日志记录:查看 GitHub Actions 的运行日志,以便调试和优化部署流程。

通过上述步骤,你可以实现 Node.js 项目的自动化部署,提高开发效率和部署的可靠性。

未经允许不得转载 » 本文链接:http://htykm.cn/hao/778c7299149.html

推荐文章

  • Ubuntu Apache怎样实现URL重写

    在Ubuntu上使用Apache实现URL重写,通常需要使用mod_rewrite模块。以下是详细的步骤:1. 启用mod_rewrite模块首先,确保mod_rewrite模块已经启用。你可以通过以 ...

  • 域名转移需要多久?域名转移有哪些常见问题?

    域名转移需要多久?域名转移有哪些常见问题?如果域名在传输过程前后遇到问题,我该怎么办?那么域名转移问题到底会有哪些呢?下面聚名网小编就带大家看看域名转移需要多久和域名转移有哪些常见问题。域名转移需要多 ...

  • ADR域名纠纷解决制度是什么?如何解决?

    ADR域名纠纷解决制度是什么?如何解决?adr域名解决制度,在英语中,是一种极端的替代性纠纷解决方式,简称adr,是指独立或相对于法院诉讼的非诉讼纠纷解决方式,可以替代诉讼。下面聚名网小编就带大家看看 ...

  • 域名市场知识概括 域名投资需要了解哪些

    域名投资产业链是什么?域名价值现在已经成为一个新的热门话题,一些域名投资可以获利上千万,一些域名一文不值,差距取决于域名投资市场和投资者的角度,这里介绍一下域名投资产业链中的哪些内容。(1)域名管理机 ...

  • Debian Context对品牌建设有何帮助

    Debian Context是一个假设的概念,因此无法直接评估其对品牌建设的帮助。然而,我们可以从品牌建设的通用策略和原则中推测,任何有助于提升品牌知名度、形象和消费者忠诚度的因素都可能对品牌建设有积 ...

  • 可以注册中文域名吗?如何注册中文域名?

    可以注册中文域名吗?如何注册中文域名?目前域名的种类很多。我们经常看到的大多是英文字母域名,有时我们可能想用中文注册域名。注册域名可以有中文吗?下面聚名网介绍一下可以注册中文域名吗和如何注册中文域名。 ...

  • 什么是域名入侵?域名入侵会有什么影响?

    什么是域名入侵?域名入侵会有什么影响?很多网站都被恶意解决了,导致网站权重下降等一系列问题,于是很多人问如何补救域名入侵。如果他们想知道如何补救域名入侵,下面聚名网小编就带大家看看什么是域名入侵和域名 ...

  • 域名还有未来吗?域名未来趋势是怎样的?

    域名还有未来吗?域名未来趋势是怎样的?3个字母的域名更简洁易记,意义也更多。同时,在很多域名投资者眼中,网站建设的范围并没有受到限制。它是一个很好的域名,具有良好的外观和投资潜力,特别是当2个字母的域 ...