it编程 > 前端脚本 > 其它脚本

用 Nuxt 写了个简历并做了自动化

157人参与 2024-08-04 其它脚本

nuxt

nuxt 是一个集成了前后端的框架,对于一些小型网站,不需要前后端分离的,是个好的选择

比如最近就做了一个 me.imba97.cn,准备放一些关于我的一些东西

预览

大概长这样

docker

除了这个简历,我把之前的《写了个简单的页面,分享此时此刻在听的歌》也迁过去了

你可以访问 me.imba97.cn/playing 查看

之前接口是用的 php,因为涉及到后端,需要 node 环境,借助 gpt 简单写了个 dockerfile

from node:18

# 创建并设置工作目录
workdir /usr/src/app

# 复制所有源代码到工作目录
copy . .

# 安装 pnpm
run npm install -g pnpm

# 安装项目依赖
run pnpm install

# 构建 nuxt
run pnpm run build

# 暴露端口(默认端口为 3000,可以通过环境变量 nuxt_port 配置)
env nuxt_port=3000
expose ${nuxt_port}

# 启动 nuxt.js 应用程序
cmd [ "pnpm", "start-docker" ]

start-docker 是以下命令

nuxt start --hostname 0.0.0.0 --port $nuxt_port

github actions

配置了 github actions 自动打包镜像并发布

name: build and push docker image

on:
  push:
    tags:
      - 'v*'

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: checkout repository
        uses: actions/checkout@v2

      - name: set up node.js
        uses: actions/setup-node@v2
        with:
          node-version: '18'

      - name: install dependencies
        run: npm install

      - name: build the project
        run: npm run build

      - name: log in to docker hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.docker_username }}
          password: ${{ secrets.docker_password }}

      - name: build and tag docker image
        run: |
          tag_name=$(echo $github_ref | sed 's/refs\/tags\///')
          docker build . -t ${{ secrets.docker_username }}/me:latest
          docker tag ${{ secrets.docker_username }}/me:latest ${{ secrets.docker_username }}/me:$tag_name

      - name: push docker image to docker hub
        run: |
          tag_name=$(echo $github_ref | sed 's/refs\/tags\///')
          docker push ${{ secrets.docker_username }}/me:latest
          docker push ${{ secrets.docker_username }}/me:$tag_name

部署脚本

我是部署在家里路由器上的,为了方便又简单写了个脚本

#!/bin/sh

docker stop imba97-me
docker rm imba97-me

docker pull imba97/me:latest

docker run -d --name imba97-me -p 3000:3000 --restart always imba97/me:latest

其他

虽然之前看到过有自动更新容器的方法,不过目前先这样了

nuxt docker 镜像倒是也有不少,但还是自己搞一个单独的了

开源

有兴趣可以看一下 imba97/me

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

表格集算表高性能原理:揭秘纯前端百万行数据秒级响应的魔法

08-04

对于PHP数组反转的算法的深度理解

08-04

星河璀璨,uni-app 亮相华为 HDC2024 开发者大会

08-04

深入理解PHP数组反转的算法

08-04

TinyVue:与 Vue 交往八年的组件库

08-04

Next.js 中为什么 App Router 可能是未来,但 Pages Router 仍然重要?

08-04

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论