前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker执行器自动化部署vue项目

docker执行器自动化部署vue项目

作者头像
希里安
发布2023-10-30 19:15:40
2230
发布2023-10-30 19:15:40
举报
文章被收录于专栏:希里安希里安

今天接着上次,使用gitlab中的cicd功能自动部署vue项目,如果全部使用shell执行器,肯定是可以的,就是要提前在runner宿主机或者远程部署主机上安装好node环境以及其他依赖的环境,这里今天尝试的是docker执行器,构建操作在docker中完成。

首先是chatgpt给的CI的范例:

代码语言:javascript
复制
# 定义一个stages阶段,包括build、test和deploy
stages:
  - build
  - test
  - deploy


# 定义构建阶段
build:
  stage: build
  image: node:latest
  cache:
    paths:
      - node_modules/
  before_script:
    - npm install
  script:
    - npm run build


# 定义测试阶段
test:
  stage: test
  image: node:latest
  cache:
    paths:
      - node_modules/
  before_script:
    - npm install
  script:
    - npm run test


# 定义部署阶段
deploy:
  stage: deploy
  image: node:latest
  before_script:
    - yum install -y nginx
  script:
    - rm -rf /usr/share/nginx/html/*
    - cp -r dist/* /usr/share/nginx/html/
    - systemctl restart nginx

但这里有几个问题:

1、执行build完之后,构建物没有保存,我想拷到宿主机

2、deploy的时候这个操作是在容器操作的,无法实现访问

再改进一下:

代码语言:javascript
复制
stages:
  - build
  - deploy


build:
  stage: build
  image: node:14.17.3
  cache:
    paths:
      - node_modules/
  script:
    - npm install
    - npm run build
  artifacts:
    paths:
      - dist/


deploy:
  stage: deploy
  image: centos:7
  before_script:
    - yum install -y sshpass
  script:
    - sshpass -p $SSH_PASSWORD ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$SSH_SERVER 'mkdir -p /path/to/deploy'
    - sshpass -p $SSH_PASSWORD scp -o StrictHostKeyChecking=no dist/* $SSH_USERNAME@$SSH_SERVER:/path/to/deploy

就是构建后,通过容器内安装sshpa,远程拷贝构建文件到目标主机目录。

还未尝试。

实际运行以下文件:

代码语言:javascript
复制
stages:
  - build
  - deploy
# 构建阶段  
build:
  stage: build 
  image: node:18.16-alpine3.18
  before_script:
    - npm install npm@latest -g
  script:
    - npm install
    - npm run build
  # 将dist目录保存为zip格式的作业制品
  artifacts:
    paths:  
      - dist/

# 部署阶段  
deploy:
  stage: deploy
  script: 待补充

构建成功:

但是部署阶段,还需要搭建一个nginx服务存放dist目录下的文件,明天接着搭建再分享!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 希里安 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档