docker 搭建gitlab gitlab-runner实现 CI/CD

gitlab+docker+gitlab-runner自动化部署.net core gitlab+docker+gitlab-runner自动化部署.net core引言一、安装gitlab1.1 安装openssh-server1.2 安装邮件发送服务1.3 将gitlab导入服务器的Repository1.4 gitlab有两个版本,ee企业版收费,ce社区版1.5 初始化帐户1.6 登入系统,开放注册邮箱验证1.7 配置邮箱发送1.8 重新加载配置,就可以进行邮箱发送了二、安装Docker 引言 不知从什么时候开始,也不知道是不是误入歧途,干着开发的活,却热衷于运维的部署;也突然间 阅读详情

一、前言

本文使用到docker、gitlab、harbor、k8s以及Kubesphere,这些在以前文章中已经部署过,可以作为参考

Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台-优快云博客

k8s可视化管理界面Kubesphere安装配置-优快云博客

最终达到效果为,代码提交至master分支后,将master分支合并到develop分支,会触发CI/CD,进行自动打包、生成镜像、上传镜像到harbor镜像仓库,然后在Kubesphere界面重新部署项目;

二、docker安装部署gitlab-runner

拉取gitlab-runner镜像

docker pull gitlab/gitlab-runner:latest

运行gitlab-runner容器

docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest

进入 gitlab-runner容器

docker exec -it gitlab-runner bash

 注册gitlab-runner

gitlab-runner register

查看gitlab URL和注册令牌

 

gitlab-runner register

# 输入Gitlab实例的地址
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
http://192.168.163.155/

# 输入token
Please enter the gitlab-ci token for this runner
xxxxxxxx

# 输入描述信息
Enter a description for the runner:
[2f5631485bf3]: this is the description

# 输入tag
Enter tags for the runner (comma-separated):
test_tag

# 输入Ruuner的执行者
Enter an executor: docker-ssh, ssh, virtualbox, docker-ssh+machine, kubernetes, custom, docker, parallels, shell, docker+machine:
docker

# 如果上面executor为docker,需要你在后续项目根部的.gitlab-ci.yml中  指定具体docker版本
#Enter the default Docker image (for example, ruby:2.6):
#alpine:latest

 推出容器 修改配置文件

vim /srv/gitlab-runner/config/config.toml 
"/usr/bin/docker:/usr/bin/docker", "/var/run/docker.sock:/var/run/docker.sock","/root/.m2/repository:/root/.m2"

"/usr/bin/docker:/usr/bin/docker", "/var/run/docker.sock:/var/run/docker.sock",为了在.gitlab-ci.yml中使用docker命令

 "/root/.m2/repository:/root/.m2" 将依赖的jar映射到宿主机上 避免每次都重新下载jar包

重启gitlab-runner容器

docker restart gitlab-runner 

这样说明部署成功

三、在spring boot项目中配置.gitlab-ci.yml

项目根目录下创建 .gitlab-ci.yml 文件,内容如下:

stages:
  - build-image
build-image:
  image: kubesphere/builder-maven:v3.1.0 #该镜像中包含了maven和docker
  stage: build-image
  script:
    - mvn clean package -Dmaven.test.skip=true
    - docker login 192.168.163.156 -u admin -p root123456
    - docker build  -t 192.168.163.156/demo/demo:0.0.1 .
    - docker push 192.168.163.156/demo/demo:0.0.1
  allow_failure: false
  only:
    - develop #指定那个分支触发cicd

如果kubesphere/builder-maven:v3.1.0镜像下载过慢或失败可以使用下面Dockerfile文件生成自定义镜像替换kubesphere/builder-maven:v3.1.0

# 基于官方 Maven 镜像构建
FROM maven:3.9.4-eclipse-temurin-17-alpine

# 安装 Docker CLI 客户端
# Alpine Linux 使用 apk 包管理器
RUN apk add --no-cache \
    docker-cli \
    && rm -rf /var/cache/apk/*

# 验证安装是否成功
RUN docker --version

# 设置工作目录
WORKDIR /app

修改pom.xml

如果.gitlab-ci.yml注释掉 - docker build -t 192.168.163.156/demo/demo:0.0.1 .可以不修改pom.xml

四、提交代码到gitlab

五、新建分支develop

创建分支后触发CI/CD

查看构建日志

新建合并请求也会触发CI/CD

六、使用Kubesphere重新创建项目

GitLab CI/CD+Docker的CI/CD部署工作流 最近学习了GitLab的CI/CD,想结合GitLab runner和Docker来实现一个简单的自动化CI/CD方案👀 阅读详情

相关推荐

搭建gitlab流水线

基于gitlab和gitlab-runner搭建流水线

qq_37776455的博客 1388

Docker 快速部署gitlab + gitlab-runner

docker 部署gitlab

weixin_44572215的博客 5083

前端devops——利用gitlab实现CI/CD自动化部署

Git是一个用于代码的存储和版本控制开源的分布式版本控制系统。GitLab 则是一个用于仓库管理系统的开源项目。本篇文章将讲解如何用gitlab搭建一个私有化的代码管理平台,并实现CI/CD自动化部署。由于条件限制,本篇的所有操作都在windows下执行,并使用docker进行操作。

小敏哥的专栏 6586

Docker部署gitlab-runner

docker 部署gitlab-runner

tangsiqi130的博客 2240

Docker-compose安装gitlab和gitlab-runner CICD(详细步骤)

1、安装gitlab 项目部署: 将项目通过maven进行编译打包 将文件上传到指定的服务器中 将war包放在tomcat服务器目录中 通过Dockerfile将Tomcat和war包转换成一个镜像,由docker-compose去管理 CI、CD帮助我们实现持续集成,持续交付和部署。 CI(continuous intergration)持续集成 持续继承:编写代码时,完成一个功能后,立即提交代码到Git仓库中,将项目重新构建测试; 快速发现错误 防止代码偏离主分支。 1、搭建gitlab服

fengtao0821的博客 4404

docker自建gitlab,通过gitlab runner搭建vuepress

docker自建gitlab,通过gitlab runner搭建vuepress

weixin_41294385的博客 804

利用极空间Docker搭建gitlab + gitlab-runner

最近有心思研究了一下自己部署gitlab,也是踩了不少的坑,这里给大家分享一下解决过程

qq_43067879的博客 3830

Gitlab CI/CD 生产环境docker化+Docker-Registry私有云实验

实验环境 一共用了4台主机,预安装的Ubuntu 18.04.1 LTS系统和Docker-ce 18.09.2版本. Gitlab端IP:192.168.99.100 Runner端IP:192.168.99.101 registry端IP:192.168.99.102 nginx端IP:192.168.99.103 部署Gitlab 本地获取Gitlab中文社区版镜像 $ docker se...

qq_42381323的博客 1546

Gitlab配置Gitlab-Runner实现简单的CI/CD

文章目录Gitlab配置Gitlab-Runner实现简单的CI/CD配置说明GitlabGitlab Runner安装Gitlab-Runner注册Runner到Gitlab简单测试 Gitlab配置Gitlab-Runner实现简单的CI/CD 配置说明 Gitlab 系统:Ubuntu 16.04 Server 内存:4G IP:192.168.23.100 Dokcer Version ...

安澜公子的博客 6786

GitLab CI入门及实践操作

假如我们有一个项目,已经部署在服务器上面了,然后但是我们想要修改其中的一个页面的部分功能,我们需要做些什么事情呢? - 先拉取gitlab上的代码 - 对代码进行修改开发 - 测试代码是否正常运行 - 打包我们的前端代码 - 将代码重新上传服务器【要是是第一次部署服务器,那你得在服务器上安装你的项目所需要的环境,比如node,还得维护环境】 - 在服务器上看代码是否正常运行 - 提交代码 这样一看,非常麻烦,但凡我们想要修改一点儿东西都得经历上述步骤,时间也浪费了,也没法保证每次提交服务器都是正常运行的

u014446463的博客 6934

gitlab runner 安装、注册、配置、使用(Docker部署)

Gitlab Runner作为一个开源的项目,使用Go语言编写,可运行在不同系统重Gitlab Runner用于运行作业并将结果发给gitlab服务器Gitlab Runner与Gitlab CI结合使用,Gitlab CI是gitlab的开源持续集成服务,用于协调作业Gitlab Runner的版本安装时应注意与Gitlab版本尽量同步以防版本差异导致报错。

感谢阅读 1万+

Windows10系统下搭建CI/CD: gitlab + gitlab runner + docker + sonaqube

环境 个人PC:Windows10 家庭版 docker:docker官方提供的Docker Desktop gitlab server:使用docker镜像安装 postgresSQL:使用docker镜像安装 sonaqube:使用docker镜像安装 搭建步骤 windows10环境配置 1. 打开: 控制面板-程序与功能-启用或关闭windows功能。勾选下图所示的选项,然后点击确定并重启系统。 2. 下载linux内核包并安装,具体参考下方微软官网链接中的步骤4~步骤6.

zhaodengdeng1984的博客 4093

MATLAB AppDesigner 中TextArea保留原有信息并换行显示提示信息

App Designer 中的文本区域TextArea组件,一般可以用来作为matlab app设计中的信息显示。 app.TextArea.Value = 'Hello Matlab'; Value可以是字符向量、字符向量元胞数组、字符串数组或一维分类数组。这样直接给TextArea赋值,每次赋值都会消除先前的信息,然后显示新的信息。如果想要在app实现保留原有信息、多行信息的输出,在MathWorks官方帮助中心给出了一种方法: cellArrayText{1} = sprintf('%s\n

我是麻瓜喔的博客 1万+

Docker-compose安装Gitlab和Gitlab-runner(CI/CD)

1、创建docker-compose.yml version: '3.5' services: gitlab: image: gitlab/gitlab-ce:latest hostname: xxx.xxx.xxx restart: unless-stopped environment: GITLAB_OMNIBUS_CONFIG: | ...

fishinhouse的专栏 6632

清理异常值(MAD:绝对中位差)

清理异常数据: 中位数绝对偏差(MAD):用来描述单变量样本在定量数据中可变的一种标准 在统计学中,绝对中位差是刻画一元数据样本变化的一个鲁棒度量。由公式可以看出,其求解还算简单,给定一个数据样本集,首先求其中位数,然后求原始数据减去中位数的绝对值从而形成一个新的数据样本,再求新的数据样本的中位数即为绝对中位差。比如说有一个数据样本集X={2 3 8 7 9 6 4},这时候数据的中位数是6,原...

spider_man 1万+

C++实战指南:使用CodeBlocks构建跨平台wxWidgets窗口应用

本文是一份面向C++初学者的实战指南,详细介绍了如何使用CodeBlocks IDE和wxWidgets框架快速构建跨平台的桌面窗口应用。内容涵盖从环境搭建、项目配置到界面设计、事件处理的全流程,重点讲解了如何利用CodeBlocks的开箱即用支持和wxSmith可视化设计器,高效开发具有按钮、菜单、列表等控件的交互式窗口界面程序,帮助读者轻松入门GUI开发。

weixin_29012677的博客 154

docker环境下使用gitlab,gitlab-runner 为 NetCore 持续集成

  环境      Centos7.6 安装应用docker,docker-compose (我的Centos是用Hyper-V跑的分了8G的内存,阿里云2G根本跑不起来gitlab)      为了保证我的Centos环境干净所以我的gitlab与gitlab-runner都是采用docker服务运行,包括后续的runner的工作形式(executor)也是选的docker。      准备工作...

li123128的博客 376

光模块组成

时钟恢复电路(Clock Data Recovery,简称CDR)是光模块中的关键组成部分,CDR的作用主要是从接收到的信号中提取出数据序列,并且恢复出与数据序列相对应的时钟时序信号,从而还原接收到的具体信息。因为光信号传输至一定距离的时候,通常是长距离传输,其波形会出现一定程度的失真,接收端接收到的信号是一个个长短不一的脉冲信号,这个时候在接收端,我们就无法得到我们需要的数据。所以,这个时候就需要有信号的再生,信号的再生功能为再放大、再整形和再定时,其中的再定时指的就是CDR时钟数据恢复。

han_better的博客 5719

如何使用docker和gitlab-runner自动化部署node项目

环境:centos7,该部署使用docker in docker的方式,而不是shell 流程:首先在centos中根据Dockerfile搭建一个项目的镜像,并生成启动一个对应容器,然后gitlab-runner通过.gitlab-ci.yml下的docker指令,删除原有容器,启动根目录下的Dockerfile指令,将新的内容复制到原先的目录下,再进行新建镜像和启动容器,这样我们访问到的就是...

Dilomen的博客 2429

泛微Ecology流程数据表结构解析:workflow_requestbase和workflow_currentoperator到底怎么关联查询?

本文深入解析泛微Ecology系统中workflow_requestbase和workflow_currentoperator表的结构与关联机制,提供SQL查询语句示例,帮助开发者高效查询流程数据。涵盖待办事项、已办事项、办结事项和流程监控等典型场景,并分享性能优化技巧和常见问题排查指南。

weixin_33738555的博客 803

手把手教你用Zynq-7100 FPGA实现100Mbps OOK信号定时同步(含完整Verilog代码)

本文详细介绍了如何在Zynq-7100 FPGA平台上实现100Mbps OOK信号的定时同步,涵盖插值算法、Gardner定时误差检测等关键技术。通过完整的Verilog代码和优化技巧,解决了50MHz外部时钟条件下的400MHz采样率同步挑战,为无线通信系统设计提供实用解决方案。

weixin_42522374的博客 301

gitlab cicd环境搭建

docker简介:Docker 是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖打包到一个可移植的容器中docker-compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它允许用户通过一个 YAML 文件配置应用程序的服务、网络和卷,然后使用简单的命令启动或管理整个应用程序。

m0_47942249的博客 1604

基于OpenCV实现暗通道先验去雾算法及改进,效果惊人

深度技术文,前方高能

公号:一条coding 2万+

Docker 部署 GitLab 和 GitLab Runner 指南

本文将详细介绍如何使用 Docker 部署 GitLab CE(社区版)和 GitLab Runner,包括配置说明和常见问题处理。适合希望快速搭建 Git 私有仓库和 CI/CD 环境的开发者。至此,GitLab 和 GitLab Runner 已经部署完成。✅ 拉取并启动 GitLab 容器✅ 配置 SSH 端口和内部端口✅ 重置管理员密码✅ 部署 GitLab Runner✅ 配置镜像拉取策略✅ 注册 Runner 到 GitLab。

m0_50864962的博客 2284

第3章: MMU Interval Notifier 区间通知器的核心原理⭐

摘要:区间级内存通知机制分析 本文分析了Linux内核中区间级内存通知机制(mmu_interval_notifier)的设计原理与实现。该机制针对传统全局通知(mmu_notifier)存在的性能开销大、无法精确控制等问题,通过引入区间树(Interval Tree)实现精确匹配,仅当内存变化与注册区间重叠时才触发回调。核心优势包括:1)O(log n + k)的高效查找性能;2)支持独立管理各内存区间;3)实现高并发处理不同区间的失效事件。

图形/计算GPU的驱动与虚拟化技术分享园地 2015

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

gitlab+runner+docker实现CI 持续集成

准备工作 1.安装docker(centos7以上版本 或内核在3.10以上版本的linux) 2.准备docker-compose 3.准备jdk和maven tar.gz包 4.gitlab的搭建 可参考 https://blog.youkuaiyun.com/cxy_LG/article/details/102967804 5.gitlab runner的镜像(我用的是内网,可选择网络版本) 6....

cxy_LG的博客 544

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: k8s可视化管理界面Kubesphere安装配置
下一篇: docker中安装MySQL、Nacos
FamineFree
博客等级 码龄4年 150粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值