Gitlab CI/CD笔记-第二天-主机套接字进行构建并push镜像。

这篇具有很好参考价值的文章主要介绍了Gitlab CI/CD笔记-第二天-主机套接字进行构建并push镜像。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装gitlab-runner

        1.安装查看我另外一篇文章很详细。
                Gitlab CI/CD笔记-第三天-使用主机docker in docker 进行构建并push镜像。_A ?Charis的博客-CSDN博客

        2.这篇文章的目的是使docker来构建镜像!

        3.让docker使用你的主机的docker.sock构建镜像,也可以使用docker in docker的方式来实现。本文介绍docker使用你的主机的docker.sock。

二、注册一个使用了主机docker.sock 的docker执行器
        1.在安装了gitlab-runer的主机上或者gitlan-runer的容器中执行:

sudo gitlab-runner register -n \
  --url https://gitlab.com/ \
  --registration-token REGISTRATION_TOKEN \
  --executor docker \
  --description "My Docker Runner" \
  --docker-image "docker:20.10.16" \
  --docker-volumes /var/run/docker.sock:/var/run/docker.sock

        #可以在linux主机上或者在docker容器中安装了gitlab-runer的地方进行注册这个执行器。

  1. --url https://gitlab.com/ \

  2. --registration-token REGISTRATION_TOKEN \

    ##注意替换,不知道在哪儿看,看我的这篇文章的第二章的截图

    gitlab CI/CD 安装 gitlab runner_A ?Charis的博客-CSDN博客
     

三、执行器的配置文件config.toml

[[runners]]
  name = "My Docker Runner"
  url = "http://10.10.2.183:8929/"
  id = 9
  token = "pjBVsQMaMT8WkypuubXy"
  token_obtained_at = 2023-08-09T12:03:56Z
  token_expires_at = 0001-01-01T00:00:00Z
  executor = "docker"
  environment = ["DOCKER_AUTH_CONFIG={\"auths\":{\"harbor.com:543\":{\"auth\":\"YWRtaW46Vk13YXJlMSE=\"}}}"]
  [runners.cache]
    MaxUploadedArchiveSize = 0
    Insecure = false
  [runners.docker]
    tls_verify = false
    image = "docker:20.10.16"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    shm_size = 0
    volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]

四、.gitlab-ci.yml 

                #第二步完成后,你才具备了使用docker来构建docker-image的能力,这个ci的流水线的任务必须要用这个执行器来跑。
 

stages: # List of stages for jobs, and their order of execution

- build-image

build-image-job:

stage: build-image

image: harbor.com:543/docker/docker:20.10.16

tags:

- docker ##这个很关键,选择执行你的具备docker 来构建的能力的执行器的tag。

variables:

CI_REGISTRY_PROJETY: harbor.com:543/spring_boot-ci

DOCKER_IMAGE_NAME: ci-java-web

DOCKER_IMAGE_TAG: v1

DOCKER_REGISTRY: harbor.com:543

DOCKER_REGISTRY_PASS: VMware1!

DOCKER_REGISTRY_USER: admin

before_script:

- mkdir -p $HOME/.docker

- echo $DOCKER_AUTH_CONFIG > $HOME/.docker/config.json

script:

- docker pull harbor.com:543/maven/maven:latest

- docker image ls

- docker tag maven:latest harbor.com:543/maven/maven:v1

- docker push harbor.com:543/maven/maven:v1

五、验证
Gitlab CI/CD笔记-第二天-主机套接字进行构建并push镜像。,云原生,gitlab,ci/cd,笔记

Gitlab CI/CD笔记-第二天-主机套接字进行构建并push镜像。,云原生,gitlab,ci/cd,笔记

Gitlab CI/CD笔记-第二天-主机套接字进行构建并push镜像。,云原生,gitlab,ci/cd,笔记

 六、重点

        1、DOCKER_AUTH_CONFIG 使用了这个变量来传入私有harbor的信息,来进行登录。

        2、docker 的image必须是docker:20.10.16

        3、如果注册了runner修改了config.toml,一定要重启docker容器不是在容器内部执行gitlab-runner restart

        4、替换上面的variables,DOCKER_AUTH_CONFIG ,变量你可以直接拿来用。文章来源地址https://www.toymoban.com/news/detail-654113.html

到了这里,关于Gitlab CI/CD笔记-第二天-主机套接字进行构建并push镜像。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络编程套接字 | UDP套接字

    前面的文章中我们叙述了网络编程套接字的一些预备知识点,从本文开始我们就将开始UDP套接字的编写。本文中的服务端与客户端都是在阿里云的云服务器进行编写与测试的。 在v1的版本中我们先来使用一下前面讲过得一些接口,简单的构建一个udp服务器: 然后运行上述的程

    2024年02月09日
    浏览(38)
  • 套接字通信(附带单线程TCP套接字通信代码)

    1. 概念 1.1 局域网和广域网 局域网(LAN)和广域网(WAN)是两种不同范围的计算机网络,它们用于连接多台计算机以实现数据共享和通信。 局域网(LAN): 定义: 局域网是一个较小范围内的网络,通常限定在某个地理区域,比如一个办公室、学校或者家庭。 范围: LAN 的范

    2024年01月21日
    浏览(32)
  • 网络编程之 Socket 套接字(使用数据报套接字和流套接字分别实现一个小程序(附源码))

    网络编程是指网络上的主机,通过不同的进程,以编程的方式实现 网络通信(或称为网络数据传输) 只要满足不同的进程就可以进行通信,所以即便是在同一个主机,只要不同的进程,基于网络传输数据,也属于网络编程 在一次网络传输中: 发送端: 数据的 发送方进程

    2024年02月03日
    浏览(38)
  • 【JaveEE】网络编程之TCP套接字、UDP套接字

    目录 1.网络编程的基本概念 1.1为什么需要网络编程  1.2服务端与用户端 1.3网络编程五元组  1.4套接字的概念 2.UDP套接字编程 2.1UDP套接字的特点  2.2UDP套接字API 2.2.1DatagramSocket类 2.2.2DatagramPacket类  2.2.3基于UDP的回显程序 2.2.4基于UDP的单词查询  3.TCP套接字编程 3.1TCP套接字的特

    2023年04月13日
    浏览(49)
  • 【JavaEE】网络编程之TCP套接字、UDP套接字

    目录 1.网络编程的基本概念 1.1为什么需要网络编程  1.2服务端与用户端 1.3网络编程五元组  1.4套接字的概念 2.UDP套接字编程 2.1UDP套接字的特点  2.2UDP套接字API 2.2.1DatagramSocket类 2.2.2DatagramPacket类  2.2.3基于UDP的回显程序 2.2.4基于UDP的单词查询  3.TCP套接字编程 3.1TCP套接字的特

    2023年04月20日
    浏览(49)
  • Gitlab CI/CD笔记-第一天-GitOps和以前的和jenkins的集成的区别

    一、GitOps-CI/CD的流程图与Jenkins的流程图 从上图可以看到: GitOps与基于Jennkins技术栈的CI/CD流程,无法从Jenkins集成其他第三方开源的项目来实现换成了Gitlab来进行集成。 好处在于:CI 一个工具Gitlab就行了,但CD部分依旧是传统的云主机(虚拟机),物理及,docker单机容器或者

    2024年02月14日
    浏览(35)
  • 网络编程套接字(3)——Java数据报套接字(UDP协议)

    目录 一、Java数据报套接字通信模型 二、UDP数据报套接字编程 1、DatagramSocket         (1)DatagramSocket构造方法         (2)DatagramSocket方法 2、DatagramPacket         (1)DatagramPacket构造方法         (2)DatagramPacket方法 3、InetSocketAddress 三、代码示例:回显服务

    2024年03月12日
    浏览(44)
  • 【C/C++套接字编程】套接字的基本概念与基础语法

    TCP/UDP实验为牵引,学习套接字编程的相关知识,再进一步深化对TCP/UDP的理解 目录 前言 Socket编程语法 1. 套接字及创建 什么是套接字? 创建套接字 2. 端口绑定 3. 收发信息 与recv()函数的比较: 与send()函数的比较: 编程实例  总结 系列博客 【C/C++套接字编程】TCP协议通信的

    2024年02月09日
    浏览(37)
  • Python进阶篇(三)-- TCP套接字与UDP套接字编程

    1.1 介绍         本文将首先利用 Python 实现面向TCP连接的套接字编程基础知识:如何创建套接字,将其绑定到特定的地址和端口,以及发送和接收数据包。其次还将学习 HTTP 协议格式的相关知识。在此基础上,本篇将用 Python 语言开发一个简单的 Web 服务器,它仅能处理一

    2023年04月23日
    浏览(33)
  • 【Python】Python 网络编程 ( Socket 套接字简介 | Socket 套接字使用步骤 | Socket 套接字服务端与客户端开发 )

    Socket 套接字 是一种 进程之间的 通信机制 , 通过套接字可以在 不同的进程之间 进行数据交换 ; 在 网络编程 中 , Socket 套接字 主要用于 客户端 与 服务器 之间的 通信 , 大部分 网络相关的应用程序 , 都使用到了 Socket 套接字技术 ; 套接字有两种类型 : 流套接字 : 提供了一个可

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包