用白薅来的gitlab自带的gitlab-runner部署一个vue项目

欢迎来到我的博客,代码的世界里,每一行都是一个故事


在这里插入图片描述

@[TOC](用白薅来的gitlab自带的gitlab-runner部署一个vue项目) ## 前戏

最近学习 GitLab 中的 CI/CD 过程考虑中,配置 GitLab Runner 时遇到一些困难。到服务器配置较低,搭建项目环境(如 Node.js、Maven 等)会带来额外的负担。这个过程可能会增加部署的复杂度和时间成本,对于服务器资源有限的情况极为明显。因此,优化这一流程是至关重要的。

我是换了各种姿势但是最终还是认为再加一台服务器比较靠谱,在日常的生产环境中我也是这样认为的,如果在资源充足的情况下最少配置两台服务器,配置两个gitlab-runner,一个用来deploy,一个用来build。抱着这个想法,最终有了白嫖这个行动。

重头戏

gitlab提供了很多个实例运行器,其中有小的arm的还有docker的,各种类型的runner。

image-20240510172359460

在上面的基础上我就有了大胆的想法,直接用gitlab提供的runner(这里一定要注意,首先它不一定安全,其次它应该是一个纯净版的,所以在使用的时候就用不了cache,以及本地maven仓库的jar。),自己的项目,或者说用来测试的,感觉都是一个不错的选择。

正戏

首先我们根据前戏中的想法,让gitlab提供的gitlab-runner来做build,自己的服务器只做部署操作,于是就有了下面的.gitlab-ci.yml

stages:
  - build
  - deploy

# 构建阶段
build:
  stage: build
  image: node:16  # 使用 Node.js 14 镜像作为构建环境
  script:
    - npm install  # 安装项目依赖
    - npm run build  # 执行构建命令,生成静态文件
  artifacts:
    paths:
      - public/  # 将构建好的静态文件作为 artifacts,以供后续阶段使用
  tags:
    - saas-linux-small-amd64
# 部署阶段
deploy:
  stage: deploy
  only:
    - master  # 只有在 master 分支发生变更时才执行部署
  script:
    - cp -r public/* /home/vueProject/my_log/public
    - sudo /usr/local/nginx/sbin/nginx -s reload
  tags:
    - acowbo

这里重点关注tags,我们进行了指定,build指定saas-linux-small-amd64,而deploy指定为acowbo也就是自己服务器部署的gitlab-runner。

image-20240511093352253

至此我们的配置还没有结束

收拾残局

在部署vue项目中,我们可以选择部署到Tomcat也可以选择部署到nginx,这里我选的是nginx,但是执行命令的是gitlab-runner这个用户。所以我们要看执行的命令是否属于gitlab-runner用户或用户组。如果权限不够,我们可以执行以下命令来解决

chown -R gitlab-runner:gitlab-runner /usr/local/nginx/logs/error.log

加餐方法如下:

  1. 执行sudo visudo
  2. 加入如下gitlab-runner ALL=(ALL) NOPASSWD: /usr/local/nginx/sbin/nginx -s reload,这个可以确保你可以用sudo的方式执行此命令

成果

image-20240511094618468

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
gitlab-runner一个开源的持续集成工具,它与GitLab配合使用,用于自动化构建、测试和部署项目GitLab Runner 9.5是GitLab Runner一个版本,它是一种轻量级的工具,可在单独的计算机或Docker容器中运行,用于执行GitLab CI/CD(持续集成/持续交付)流水线中的作业(job)。 GitLab Runner 9.5带来了一些新功能和改进。例如,它支持了新的配置选项,可以更灵活地配置GitLab Runner的行为。它还改进了并行构建的性能,提高了作业执行的效率。 此外,GitLab Runner 9.5还引入了一种新的特性:CSDN,即Continuous Security & Delivery Network。CSDN使得在运行CI/CD流水线期间进行持续安全性测试变得更加容易。通过集成CSDN,GitLab Runner能够在每个作业中自动运行安全性扫描程序,并根据发现的漏洞或问题提供反馈。 CSDN能够集成多个开源和商业安全性工具,如SonarQube、Nexus IQ、Qualys等。它可以自动化代码审查、漏洞扫描、依赖库分析等安全性任务,并生成详细的报告。这让开发团队能够及早发现和解决安全性问题,提高应用程序的安全性和质量。 总之,GitLab Runner 9.5提供了更多的配置选项和性能改进,并引入了CSDN特性以支持持续安全性测试。通过使用GitLab Runner 9.5和CSDN,开发团队可以更轻松地实现自动化的持续集成和持续交付,并提高应用程序的安全性和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一只牛博

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

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

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

打赏作者

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

抵扣说明:

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

余额充值