从0到1部署gitlab自动打包部署项目

news2025/2/3 21:03:05

本文重点在于配置ci/cd打包 使用的是docker desktop

第一步安装docker desktop

Docker简介

  • Docker 就像一个盒子,里面可以装很多物件,如果需要某些物件,可以直接将该盒子拿走,而不需要从该盒子中一件一件的取。
  • Docker中文社区、Docker中文文档

安装docker desktop 官方下载地址Download Docker Desktop | Docker

下载完毕后出现

点击settiing 将如下代码复制紧engine 切换源

{
  "registry-mirrors": [
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"
  ],
  "insecure-registries": [],
  "debug": true,
  "experimental": false
}

测试docker desktop是否安装成功

在终端输入

docker run hello-world 

再去docker desktop查看是否有如下界面

uploading.4e448015.gif

正在上传…重新上传取消正在上传…重新上传取消

出现了代表成功 我们可以进行下一步了 docker desktop剩余具体命令可以查看👇博主

docker desktop安装参考博主: 从零开始的Docker Desktop使用,Docker快速上手 ( ̄︶ ̄) Docker介绍和基础使用_寻_觅的博客-CSDN博客_docker desktop

第二步 给docker安装上gitlab相关

安装gitlab镜像 在终端输入 安装

docker pull gitlab/gitlab-ce

安装完毕后可以看到docker desktop中出现

 点击

 命令中的443,80,22分别代表本机和docker容器端口之间的映射,可以根据不同需求进行修改。

 2、修改默认账号登录密码

首先我们在终端输入 

docker ps

可以查看到正在运行的docker实例  将实例的id复制过来

docker exec -it docker的id /bin/bash

修改密码

user=User.where(id:1).first //1为root用户
user.password='123456' 
user.password_confirmation='123456'
user.save!
exit
exit

3.安装gitlab-runner

docker pull gitlab/gitlab-runner:latest

这里可以进入到git中 如果还没有新建 可以看下面的博客 

前端从0到1部署 github的vue项目1_孙可爱.的博客-CSDN博客

新建完毕 后进入项目

 

 

我们去 gitlab setting---CI/CD-- runner中查看到 就代表成功将runner加入到了gitlab

这个时候我们需要进入本地终端

在本地生成公钥 输入 comment值可以可以随便输入 也可写邮箱地址 

ssh-keygen -t rsa -b 2048 -C "<comment>"

一路回车 不用输入密码之类的东西 再输入 如下命令 公钥放在远程的服务器上的权限文件里

scp -r id_rsa.pub root@1.2.3.4:/root/.ssh/authorized_keys //这里的1.2.3.4换成你想上传的服务器骶椎

 再输入 用来验证是否可以不输入密码就能进入远程服务器 如果不需要输入则代表成功

下一步我们要将新建的 公钥放在gitlab

vim ~/.ssh/id_rsa

进入公钥 

复制 

将我们刚刚复制的公钥粘贴进value中 key可以使用 SSH_PRIVATE_KEY  

这一步相当于给gitlab上面设置了一个变量

 下一步我们需要配置打包文件gitlab-ci.yml文件,添加下

stages: # 分段
  - install
  - build
  - deploy
 
cache: # 缓存
  paths:
    - node_modules
    - build
 
install-job:
  tags:
    -  runnertag //你之前取得tag名字
  stage: install
  script:
    - npm install

build-job:
  tags:
    - runnertag //你之前取得tag名字
  stage: build
  script:
    - npm run build
 
deploy-job:
  tags:
    - sss
  stage: deploy
  before_script:
      - 'which ssh-agent || ( yum update -y && yum install openssh-client git -y ) '
      - eval $(ssh-agent -s)
      - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
      - mkdir -p ~/.ssh
      - chmod 700 ~/.ssh
      - ssh-keyscan xxxx >> ~/.ssh/known_hosts  //xxxx替换为远程服务器的地址
      - chmod 644 ~/.ssh/known_hosts
  script:
      - scp -r dist root@xxxx:/usr/local/www

 git push上我们的项目 就可以看到他在自动打包编译啦

参考:使用gitlab runner部署项目_Truth、的博客-CSDN博客

Gitlab-ci:从零开始的前端自动化部署_barnett_y的博客-CSDN博客_gitlab ci 自动化部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1328682.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu 常用命令之 man 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 man命令在Ubuntu系统中是一个非常重要的命令&#xff0c;它用于查看系统的手册页。手册页是Linux和Unix系统中的一种在线文档&#xff0c;用于描述系统中的命令、函数、配置文件等的详细信息。 man命令的基本格式是 man [选项] …

光伏企业如何能够提高光伏电站的建设效率?

随着全球对可再生能源需求的日益增长&#xff0c;光伏行业的发展势头强劲。然而&#xff0c;光伏电站建设过程中往往存在效率低下的问题&#xff0c;这不仅影响了电站的运营成本&#xff0c;也制约了整个行业的发展速度。因此&#xff0c;如何提高光伏电站的建设效率&#xff0…

DshanMCU-R128s2 Hello World!

本文将介绍使用 R128 开发板从串口输出 Hello World 的方式介绍 SDK 软件开发流程。 载入方案 我们使用的开发板是 R128-Devkit&#xff0c;需要开发 C906 核心的应用程序&#xff0c;所以载入方案选择r128s2_module_c906 $ source envsetup.sh $ lunch_rtos 1编辑程序 打…

Windows 系统下本地单机搭建 Redis(一主二从三哨兵)

目录 一、Redis环境准备&#xff1a; 1、下载redis 2、Windows下的.msi安装和.zip格式区别&#xff1a; 二、哨兵介绍&#xff1a; 1、一主二从三哨兵理论图&#xff1a; 2.哨兵的主要功能&#xff1a; 3.哨兵用于实现 redis 集群的高可用&#xff0c;本身也是分布式的&…

锐捷配置PVLAN

一、实验拓扑 二、实验目的 PVLAN可以通过主VLAN和辅助VLAN的概念&#xff0c;部署隔离技术&#xff0c;实现用户间的互访控制。 三、实验配置 SW2 Ruijie >enable Ruijie #configure terminal Ruijie (config)#vlan 20 Ruijie (config-vlan)#private-vlan community …

喜报|迪捷软件“ModelCoder 建模及形式化验证代码生成软件”荣登浙江省首版次产品目录

近日&#xff0c;浙江省经济和信息化厅公布《2023年浙江省首版次软件产品应用推广指导目录》&#xff0c;浙江迪捷软件科技有限公司的“ModelCoder 建模及形式化验证代码生成软件”经过多轮审核及专家评定被纳入目录&#xff0c;这是迪捷软件自主研发的产品继“天目全数字实时仿…

嵌入式科普(5)ARM GNU Toolchain相关概念和逻辑

一、目的/概述 二、资料来源 三、逻辑和包含关系 四、Arm GNU Toolchain最常用的命令 嵌入式科普(5)ARM GNU Toolchain相关概念和逻辑 一、目的/概述 对比高集成度的IDE(MDK、IAR等)&#xff0c;Linux开发需要自己写Makefile等多种脚本。eclipse、Visual Studio等需要了解预处…

冬天天冷早安问候语关心话,愿我的每句话都能带给你温馨

1、送你一声问候&#xff0c;为你驱走冬日严寒&#xff0c;送你一份关怀&#xff0c;为你增添丝丝温暖&#xff0c;送你一句祝福&#xff0c;为你驱走所有不快&#xff0c;送你一份关爱&#xff0c;为你增添幸福无限&#xff0c;天虽寒了&#xff0c;我的关心犹在&#xff0c;愿…

一分钟学会“沉浸式翻译”插件的安装与使用

一、安装 安装地址&#xff1a;https://immersivetranslate.com/ 选择对应的浏览器进入安装即可 二、简单的翻译使用方法 第一次安装需要先刷新界面才可以达到翻译效果 核心需要修改的地方在以下三个&#xff1a; 第一处&#xff1a;设置翻译服务&#xff0c;免费版的可以直接…

uniapp中如何使用百度tts生成文字语音并播放

第一步先在百度云里面申请一个tts应用&#xff0c;这里默认你们都会了哈&#xff0c;申请完是这样的 第二步在manifest.json注册一下 第三步进项目,先获取token handleGetToken() {// client_id和client_secret就是百度API Key和Secret Keyuni.request({url: https://aip.ba…

【PHP手麻系统源码】基于mysql+laravel+vue开发的医院手术麻醉系统源码,实现围术期患者数据的自动采集与共享

手麻系统作为医院信息化系统的一环&#xff0c;由监护设备数据采集系统和麻醉信息管理系统两个子部分组成。手麻信息系统覆盖了患者术前、术中、术后的手术过程&#xff0c;可以实现麻醉信息的电子化和手术麻醉全过程动态跟踪。 以服务围术期临床业务工作的开展为核心&#xf…

人工智能_机器学习070_SVM支持向量机_软间隔及优化_硬间隔_衡量间隔软度_引入松弛变量_理解隔离参数---人工智能工作笔记0110

我们继续说,之前说的C是什么意思? 我们在这个软间隔优化中就可以引出C 可以看到之前我们讨论的问题,都是基于样本点的,完全的线性可分的问题,我们称为硬间隔 可以看到这种,一分就可以,分开,简单分割就可以分开的数据,我们称之为硬间隔 但是可以看到上面这种情况,无论怎么分,都…

Unresolved plugin: ‘org.apache.maven.plugins‘解决报错

新建springboot项目报Unresolved plugin: ‘org.apache.maven.plugins:maven-surefire-plugin:3.1.2’ 缺什么插件 引入什么插件的依赖就行 <dependency><groupId>org.apache.maven.plugins</groupId><artifactId>maven-install-plugin</artifact…

分解质因数C语言

分析&#xff1a;首先我们知道&#xff0c;必须是素数才可以算一次&#xff0c;所以我们先写一个判断素数的函数 int g(int a){int i;for(i2;i<a;i){if(a%i0)return 0;}return 1; } 如果是素数就返回1&#xff0c;不是素数就返回0&#xff1b; 那么当我们输入一个数字的时…

运用ETL快速拉取吉客云平台订单信息

吉客云介绍 吉客云是一家中国的云计算服务提供商。它提供了包括云服务器、云数据库、云存储、云网络等各种云计算产品和解决方案&#xff0c;帮助企业和个人搭建高效、可靠、安全的云计算环境。 吉客云特点和优势&#xff1a; 大规模分布式架构&#xff1a;吉客云基于自主研发…

Android MVI架构之UI状态的持有与保存

Android MVI架构之UI状态的持有与保存 我们将介绍状态持有者和其他与 UI 层相关的主题&#xff0c;例如在 Android 上提升状态和保存 UI 状态的位置。 状态持有者 状态持有者通过处理逻辑和/或公开 UI 状态来简化 UI。在本节中&#xff0c;我们将看到如何实现状态持有者以及…

牦牛角划破眼睑,幼儿紧急就医抢救眼睛

前几天深夜&#xff0c;成都爱尔眼科医院收治了一位患儿&#xff0c;年仅2岁&#xff0c;被父亲抱在怀中与邻居一起从西藏来到成都。因孩子父亲无法用普通话交流&#xff0c;医生从邻居口中了解孩子无意间右眼被牦牛角击中眼皮断裂了。在当地医院接受检查&#xff0c;但无法实施…

Ninja H2 HySE川崎的氢能增压摩托车真的来了,像在开火箭?

川崎最近发布了第一款氢能源的摩托车&#xff0c;而HySE则是日本四大厂&#xff08;本田、雅马哈、川崎、铃木&#xff09;联合丰田针对氢作为燃料的动力研发机构&#xff0c;值得一提的是这H2仍然采用的999cc直喷增压发动机&#xff0c;具体的动力数据暂时没有曝光。 车辆后方…

生产者和消费者模式

在一个系统中&#xff0c;存在生产者和消费者两种角色&#xff0c;他们通过内存缓冲区进行通信&#xff0c;生产者生产消费者需要的资料&#xff0c;消费者把资料做成产品。 最关键就是内存缓冲区为空的时候消费者必须等待&#xff0c;而内存缓冲区满的时候&#xff0c;生产者…