当前位置: 首页 > news >正文

GitLab CI/CD系列教程(一)

来自:GitLab CI/CD系列教程(一):Docker安装GitLab_哔哩哔哩_bilibili

1. 创建虚拟机并连接Xterm

 创建一个4G内存的虚拟机,否则很容易启动不了,报502

虚拟机的创建看这篇:

VMware16的安装及VMware配置Linux虚拟机_爱吃咖喱鸡的博客-CSDN博客https://blog.csdn.net/m0_49879527/article/details/124405332虚拟机创建好了以后修改一下ssh.service的端口号为60022,因为Gitlab需要占用22端口

步骤如下:

vi /etc/ssh/sshd_config

把 #Port 22修改为Port 60022 ,按下i键,修改后按下esc键,输入:wq保存并退出

修改以后重新启动一下:

systemctl restart sshd

Xterm连接看这篇:

Linux操作系统----安装使用VMware和MobaXterm_素心如月桠的博客-CSDN博客Xtermhttps://blog.csdn.net/m0_47010003/article/details/125245319

2. 安装docker

 安装Docker步骤:

 Docker_素心如月桠的博客-CSDN博客一、安装Docker♦️ 1.下载关于Docker的依赖环境在Xterm中输入以下代码安装依赖环境 回车yum -y install yum-utils device-mapper-persistent-datalvm2使用yum工具下载yum是软件包管理工具通过 执行 man yum可以查看yum的帮助信息♦️2.设置一下下载Docker的镜像源依赖环境下载完毕以后,设置下载的镜像源,如果不设置,会默认去Docker的官方下载,但是官方的服务器在国外,下载会比较缓慢,设置下载国内的镜https://blog.csdn.net/m0_47010003/article/details/127775185

3. 使用docker安装gitlab

 第一步拉取镜像:gitlab社区版

docker pull gitlab/gitlab-ce

 docker images  #查看镜像

 发现刚刚下载的gitlab社区版镜像:gitlab/gitlab-ce

 第二步docker run命令运行容器

sudo docker run -d -p 443:443 -p 80:80 -p 22:22 --name gitlab --restart always -v /opt/docker_gitlab/config:/etc/gitlab -v /opt/docker_gitlab/logs:/var/log/gitlab -v /opt/docker_gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

docker ps -a  # 查看运行的容器

 发现已经成功运行,搭建成功以后就可以去浏览器访问了,默认是80端口。

docker logs -f 8b # 根据容器id查看gitlab的实时日志

 输入以上命令,如果出现以下代码,说明运行成功!

 在浏览器输入网址

http://192.168.197.130:80

注意是http,192.168.197.130与Vmware虚拟机中输入ip a显示的ip地址一致,80是容器启动时docker run命令中-p属性指定的端口号

访问成功后,因为我是隔了一段时间才写的文章

忘记管理员密码了

Docker中安装了gitlab,忘记了管理员密码,进行管理员密码重置 - 安能倚天屠龙 - 博客园 (cnblogs.com)https://www.cnblogs.com/zhang-yawei/p/12692493.html

依次输入以下命令,修改用户名为root的用户的密码为12345678 

修改成功后输入两次exit,退出 

再次登录成功。

登录成功以后我们创建一个项目testci

 然后我们去idea中 创建一个项目并上传到gitlab这个testci项目中

使用IntelliJ IDEA创建Maven项目并上传项目至gitlab等远程仓库_素心如月桠的博客-CSDN博客_maven项目上传giticon-default.png?t=M85Bhttps://blog.csdn.net/m0_47010003/article/details/128023709创建成功后我们在idea项目的根目录下新建.gitlab-ci.yml文件

编写.gitlab-ci.yml文件(注意前面有个“.”)

 回到idea中,在当前项目路径下右键新建.gitlab-ci.yml文件。

 在.gitlab-ci.yml文件中输入如下内容:

         在- echo后面输入什么在gitlab上面运行就会输出什么

 这里我只是.gitlab-ci.yml文件只是示例,具体yml文件内容很多我就不截图了。

 添加完.gitlab-ci.yml文件后再次commit,push

 

 push成功:

 

进入GitLab中,查看。


 

二、Docker安装GitLab Runner

1.gitlab-runner

在安装前先来解释说明一下什么是流水线

2. pipeline【流水线】

每次提交代码就会触发流水线, 

点击第一条流水线可以看到如下图所示:

 一条流水线的4个阶段stage和任务 job

gitlab只是一个代码管理平台,正在的执行环境是gitlab-runner里面

所有的ci/cd操作都是在gitlab-runner里面执行的,gitlab-runner就是为ci/cd和流水线提供一个运行环境。

ci/cd就是我们提交代码以后可以自动的集成,自动部署并执行一些任务,而gitlab-runner就是流水线就是一个自动化的基础环境。stage的话意思是阶段,定义同一组的任务,job是执行的最小单元。
上面说的.gitlab-ci.yml文件就是定义流水线的具体执行的内容的

接下来安装gitlab-runner

在Xterm中输入以下代码:没有镜像会自动去拉取,所以不用push镜像,直接使用docker run命令

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

docker ps查看,可以看到gitlab-runner的Ports,对外暴露的端口是空的,这是因为gitlab-runner不对外提供服务

 接下来注册gitlab-runner

docker exec -it gitlab-runner gitlab-runner register

 以上划红线的内容就是我们要输入的

第一个url地址http://192.168.197.130/和令牌token去gitlab中复制

 复制上面的url和token,回到Xterm中右键paste上

接下来的描述随便写,然后是tag,写testci,执行器executor,写shell,回车就可以成功注册

回到gitlab中查看,如下图: 

 

相关文章:

  • 结构体内存对齐(未完成版)
  • Visual Studio 对 C++ 头文件和模块的支持
  • 传感器在机械自动化中的应用有哪些?
  • 【Hello算法】 > 第 3 关 >栈与队列
  • 医学影像增强:空间域方法与频域方法等
  • vue3 h5模板
  • 自由生成各种尺寸大小的占位图片:解决设计与开发中的图片占位问题
  • SpringBoot:Invalid bound statement (not found)的原因和解决方案
  • vue页面菜单权限问题解决
  • C++ 游戏飞机大战, 字符型的
  • 干洗行业上门预约解决方案,干洗店洗鞋店小程序开发;
  • go build
  • html当当书网站 html网上在线书城 html在线小说书籍网页 当当书城网页设计
  • [附源码]JAVA毕业设计课程网站设计(系统+LW)
  • Spring Boot TestEntityManager
  • 【@property的参数copy Objective-C语言】
  • 八股文之设计原则
  • C++图书管理系统(管理员-读者)
  • 高可用方案组件,Keepalived详解
  • MOSFET 和 IGBT 栅极驱动器电路的基本原理学习笔记(一)MOSFET技术
  • Ansible
  • 年产2万吨山楂酒工厂的设计-陈酿工段及车间的设计(lunwen+任务书+cad图纸)
  • Java项目:SSM教师师资管理系统
  • wasm 视频解码渲染实现
  • [YOLOv7/YOLOv5系列改进NO.40]融入适配GPU的轻量级 G-GhostNet
  • 华为机试真题 C++ 实现【连接器问题】【2022.11 Q4新题】
  • 50、IO流
  • Android入门第43天-Activity与Activity间的互相传值
  • 机器学习之过拟合和欠拟合
  • Postman进阶篇(十一)-在脚本中使用pm对象访问接口请求(pm.request.*)
  • mysql之SQL练习
  • List——顺序表与链表(二)