GitLab CI/CD之使用docker镜像部署前端项目

1.gitlab使用docker构建流水线

  • eg:项目名称:vitepro
image: node:alpine

stages:
 - install
 - lint-code
 - build
 - deploy

##cache作用:各个job之间会进行缓存的存储以及回滚
##配置缓存路径
cache:
	key: vitepro
	 # 代表缓存的包名,前端的依赖包都是node_modules,具体看你项目生成的包
	paths:
	 - node_modules

job_install:
 stage: install
 tags:
  - vite
 script:
 	- npm install
 
 job_build:
  stage: build
 tags:
  - vite
  script:
   - npm run build
  artifacts:
    paths:
      - dist/ # 存储起来生成制品,每个任务都可使用
  
job_deploy:
 stage: deploy
 image: docker
 tags:
  - vite
 script:
  - docker build -t myteimages .
  - if [ $(docker ps -aq --filter name=myvite-container) ];then docker rm -f myvite-container;fi
  - docker run -d -p --name myvite-container myteimages 
  • image: docker原因如下:
    流水线docker build是在服务器的docker里面跑的,而服务器docker没有docker环境
    在这里插入图片描述
  • Dockerfile文件
FROM node: latestlas builder
WORKDIR /app
COPY package.json .
RUN npm install --registry=http://registry. npm. taobao.org
COPY . .
RUN npm run build


FROM nginx: latest
COPY --f rom=builder /app/dist /us r/share/nginx/html
  • 在docker里面进行docker build报错,则需要到gitlab-runner中配置目录卷,称之为docker in docker的配置
    在这里插入图片描述
    解决办法:进入到gitlab-runner安装环境中
    在这里插入图片描述
    在该文件中,找到对应的runner,此处为key=3NnvWWZV的runner
    将/usr/bin/docker:/usr/bin/docker,/var/run/docker.sock:/var/run/docker.sock增加至volumes
    在这里插入图片描述

2.单独注册一个新的runner

单独注册runner

  • URL,是runner是的url
  • token,是runner的token
  • tag-list,是runner的tag
    在这里插入图片描述
  • 到安装runner的服务器上运行
    在这里插入图片描述
  • 用下面的方法可以注册一个runner
docker run --rm -V /srv/gitlab-runner/config:/etc/gitLab-runner gitLab/gitlab-runner register \
-non- interactive \
--executor "docker" \
--docker- image alpine: latest \
--url "http://git Lab. m a)yun.top/" \
--registration-token "xNZW4ids6x45sk3A7v3b" \
--description "for-vite" \ 
--tag-list "vite" \
--run-untagged="true" \
--locked="false" \
--access-level="not_ protected"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢打篮球的普通人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值