User-Profile-Image
hankin
  • 5
  • centos7
  • docker
  • mysql
  • PostgreSQL
  • git/gitlab
  • ELK
  • python
    • python-Tornado
    • python-django
  • redis
  • nginx
  • kvm
  • proxmox
  • mongo
  • kubernetes
  • prometheus
  • GlusterFs
  • nfs
  • freeswitch
  • httpd
  • shell脚本
  • linux
  • fastdfs
  • nextcloud
  • openssl
  • openvpn
  • rabbitmq
  • sqlite
  • svn
  • java
  • ubuntu
  • vue2
  • wordpress
  • php
  • IOT物联网
  • 项目
  • 故障处理
  • 树莓派
  • 博客存档
  • 未分类
  • 杂项
  • #1742(无标题)
  • 新视野
  • 分类
    • 项目
    • 树莓派
    • 杂项
    • 未分类
    • 新视野
    • 故障处理
    • 博客存档
    • wordpress
    • vue2
    • ubuntu
    • svn
    • sqlite
    • shell脚本
    • redis
    • rabbitmq
    • python-django
    • python
    • proxmox
    • prometheus
    • PostgreSQL
    • php
    • openvpn
    • openssl
    • nginx
    • nfs
    • nextcloud
    • mysql
    • mongo
    • linux
    • kvm
    • kubernetes
    • java
    • IOT物联网
    • httpd
    • GlusterFs
    • git/gitlab
    • freeswitch
    • fastdfs
    • ELK
    • docker
    • centos7
  • 页面
    • #1742(无标题)
  • 友链
      请到[后台->主题设置->友情链接]中设置。
Help?

Please contact us on our email for need any support

Support
    首页   ›   git/gitlab   ›   正文
git/gitlab

runner

2022-10-28 23:33:39
822  0 0
gitlab runner安装
https://docs.gitlab.com/runner/install/linux-repository.html#deb-based-distributions

yum安装

curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh" | sudo bash
#配置yum源

yum install gitlab-runner -y
#安装

docker安装

未整理

docker安装gitlab,gitlabrunner实现CICD笔记 搭建gitlab服务 执行命令: 拉取gitlab的docker镜像 docker pull gitlab/gitlab-ce 运行gitlab服务容器 docker run -d -p 45672:443 -p 45673:45673 -p 45674:22 --restart always --name gitlab -v /install/gitlab/etc:/etc/gitlab -v /install/gitlab/log:/var/log/gitlab -v /install/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:latest 命令详细解释: docker run -d #表示后台运行 (所有docker容器基本必须加的参数) --name gitlab #表示该容器的名称,必须是唯一·的值,不能重复,可以用它他来代替容器id,更容易记忆,就类似于域名和IP的关系,用它可以代替容器ID删除,或者停止容器服务

--restart always #能够使我们在重启docker时,自动启动相关容器 (所有docker容器基本必须加的参数)

-p 45673:45673 #用宿主机的45673端口映射容器内部服务的45673端口(gitlab的http默认访问端口是80但是80端口会显示成clone的但其实和我们不符合,所以先让容器启动,启动不成功不管,先让容器产生配置文件,改了默认配置的80改成45673就可以启动成功了),相当于访问45672就等于访问443端口的服务(gitlab容器服务默认启动的就是80端口,我们访问web,并且通过http方式下载代码的也用的这个服务,下面两个443和22其实是需要用ssh方式下载代码才会用到,所以这次不用管吗,但是必须要映射上)

-p 45672:443 #用宿主机的45672端口映射容器内部服务的443端口,相当于访问45672就等于访问443端口的服务(有可能一个容器中有多个服务端口需要映射,所以可以有多个p,比如gitlab里面就有3个端口需要映射,容器内部的端口不会和宿主机的端口有冲突,因为容器是独立的)

-p 45674:22 #用宿主机的45674端口映射容器内部服务的22端口,相当于访问45672就等于访问443端口的服务(和上面443相同)

-v /install/gitlab/etc:/etc/gitlab #挂在容器的配置文件目录到宿主机某个目录(挂在容器目录到宿主机目录,也可以理解为将宿主机的目录映射成容器内部的某个目录,目的在于数据持久化和便于我们修改配置文件,以后将容器删除掉,在启动容器的时候只要也用同样的宿主机目录挂载,只要文件不删除,那么以前的容器使用的过的数据都不会改变的,而且我们在宿主机修改文件可以用vm或者xftp到本地来修改,但是容器内部修改很麻烦,不支持vim这种非自带的命令 ,如果不挂载删除容器在启动一个就没以前的数据了,又得重零配置一遍,:冒号左边是宿主机的目录,右边是容器内部的目录,容器哪些目录需要挂载,只要牵涉到启动容器以后需要改配置和数据存储的都要挂载,还有个要理解的点是,重启docker的某个容器服务,实际上就是先要停止当前服务的容器,然后再删除当前服务容器,然后在获取最新的镜像重启服务)

-v /install/gitlab/log:/var/log/gitlab #挂载容器内部的日志目录,方便我们跟踪日志发现问题(描述和上面一样) -v /install/gitlab/data:/var/opt/gitlab #挂载容器内部的数据目录,我们下次把容器删除了再重启一个,只要挂在还是这个宿主机的目录,那么以前的提交的代码就一样的会保存,和数据库容器一样,我只要不删除数据挂在目录,下次删掉容器在重启一个,数据也还在,就是变相持久化(描述和上面一样) --privileged=true #权限 ,给容器赋予最高权限 (所有docker容器基本必须加的参数,会减少很多不必要的权限错误) gitlab/gitlab-ce:latest # 指定镜像的版本 格式:仓库地址/镜像项名称:镜像版本号 latest表示最新的版本号 (所有docker容器基本必须加的参数)

注意事项: clone的仓库url的前面是随机数并非标准ip:端口的形式的问题修改方式 : 先不不急着验证启动是否成功,因为我们再开始容器映射的时候映射的是容器的45673端口,所以我们先去改配置文件中的80改成45673端口在来验证

因为我们已经把gitlab服务所需要的配置文件目录都挂载在了宿主机的/install/gitlab/目录下面,那么只需要对应的去修改gitlab.rb , gitlab.yml ,

修改方式有多种: 1.可以找到对应目录的文件用xftp下载到本地进行修改再传上去 2.还可以直接在宿主机利用vi命令去修改 3.还可以直接linux的替换命令 sed直接替换(前面两种都需要人为介入修改,自动化程度不高,建议直接用sed,这样可以交给脚本完成) 将gitlab.rb中的 external_url \'GENERATED_EXTERNAL_URL\' 替换成 external_url \'http://你自己的宿主机IP:45673\'

sed -i s,# external_url \'GENERATED_EXTERNAL_URL\',external_url \'http://你自己的宿主机IP:45673\',g /install/gitlab/etc/gitlab.rb

# 将/gitlab.yml中的 13行整行换成 前面4个缩进空格(因为是yml文件,必须手动输入空格,不然默认整行替换没有缩进,文件内容格式不对)的后面是host: 你自己的宿主机IP

sed -i 13c \\ \\ \\ \\ host: 你自己的宿主机IP /install/gitlab/data/gitlab-rails/etc/gitlab.yml

# 修改gitlab容器内部web界面服务默认端口80为45673,将/gitlab.yml中的 14行整行换成 前面4个缩进空格(前面4个缩进空格(因为是yml文件,必须手动输入空格,不然默认整行替换没有缩进,文件内容格式不对))的后面是port: 45673

sed -i 14c \\ \\ \\ \\ port: 45673 /install/gitlab/data/gitlab-rails/etc/gitlab.yml

然后重启gitlab服务容器(和第一次启动一样,gitlab比较大所以需要多等几分钟)

docker restart gitlab

然后用root+初始密码登录==>查看有个默认的Monitoring项目仓库==>看他的clone的地址的IP和端口是否和你浏览器输入的一致(如果是域名就看域名是否一致即可)

验证gitlab是否搭建成功 gitlab容器启动完成以后,至少得等待个3分钟左右以上,然后访问http://你自己的宿主机IP:45673 ,如果什么都没有,那就再耐心等待几分钟,如果访问出现502了,那也就说明服务启动正常的但是还没启动完,还需要再耐心等待2分钟左右,再刷新URL知道出现下面界面,当然服务器配置很好,也有可能等个3分钟就能直接访问到该页面,所以验证gitlab是否正常启动的标准就是是否出现登录页面

root管理员初始密码查看 gitlab的默认管理账号是root,但是初始密码需要根据进入gitlab的容器以后输入命令查看进入gitlab容器的命令行

docker exec -it gitlab bash

查看密码

grep \'Password:\' /etc/gitlab/initial_root_password

出现一个password的后面就是你的root的初始登录密码

退出容器,回到宿主机

exit

以上3个步骤还有个更简单的执行方式,就是下面,把bsh换成要执行的命令,就直接在宿主机就可以查看了,不需要进入在退出容器(这种操作同样也可以在其他容器使用,凡是需要进入容器执行命令在退出容器的操作,都可以用这种方式代替)

sudo docker exec -it gitlab grep \'Password:\' /etc/gitlab/initial_root_password

修改root账号的初始面的方法 进入gitlab以后,先及时修改root账号的密码,然后重新登录

右上角头像=>Edit Profile=>左侧菜单栏 Password=>依次输入旧密码,新密码,确认新密码=>Save Password=>重新登录即可

gitlabCI配置文件点击查看

搭建gitlab-runner服务 执行命令: 拉取gitlab-runner的docker镜像 docker pull gitlab/gitlab-runner

运行gitlab-runner的容器服务 docker run -d --name gitlab-runner --restart always --privileged=true -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /install/gitlab-runner/config:/etc/gitlab-runner -v /etc/sysconfig/docker:/etc/sysconfig/docker -v /usr/bin/docker-current:/usr/bin/docker-current gitlab/gitlab-runner:latest

修改挂载在宿主机的配置文件,依次执行下面三条命令 sed -i \'s!/cache!/cache,/var/run/docker.sock:/var/run/docker.sock,/usr/local/repos/gradle:/usr/local/repos/gradle,/etc/sysconfig/docker:/etc/sysconfig/docker,/usr/bin/docker-current:/usr/bin/docker-current,/usr/bin/docker:/usr/bin/docker!g\' /install/gitlab-runner/config/config.toml

sed -i \'s,privileged = false,privileged = true,g\' /install/gitlab-runner/config/config.toml

重启gitlab-runner容器,让最新配置生效

docker restart gitlab-runner

注册gitlab-runner执行器到gitlab 获取gitlab仓库CICD的token以及注册URL 新建一个仓库点进去==>左侧菜单Settings==>CICD==>Runners==>复制Register the runner with this URL下面的url==>复制And this registration token

注册gitlab-runner容器到gitlab 执行命令:

docker exec -it gitlab-runner gitlab-runner register

然后按照上面命令给出的提示依次输入,每次输入完成回车到下一项:

注册URL(上一步获取的)==>注册token(上一步获取的)==>run-desc(命名可以随意)==>run tags(命名可以随意,可以编写ci配置文件会用上) ==>run main(命名可以随意)==>docker(必选docker构建容器)==>alpine:latest(必输docker的版本)

检验执行器是否注册成功:

回到之前查看token的那个gitlab页面,刷新一下 在token下面会有一个 Available specific runners ,并且前面的图标是绿色的代表注册成功

搭建私有化registry镜像仓库服务 私有化镜像仓库和docker安装的时候自带的镜像库的区别: 私有化镜像仓库可以给网络相同的任一服务器上面的docker服务提供镜像下载服务,而docker自带的镜像库就是只能给当前服务器上面的docker服务提供镜像依赖

执行命令: 拉取registry镜像 docker pull registry:latest

运行registry容器服务 docker run -d -v /install/registry:/var/lib/registry -e REGISTRY_STORAGE_DELETE_ENABLED=true -p 5000:5000 --restart=always --name docker-registry registry:latest

命令行curl验证是否搭建成功 curl -X GET http://localhost:5000/v2/_catalog

出现{repositories:[]},空数组就说明安装成功了,只是现在还没有上传镜像所以还是空数组
runner安装教程
https://blog.csdn.net/u013595395/article/details/129286534
https://docs.gitlab.com/runner/install/linux-repository.html#deb-based-distributions

类型 
shared 共享 整个平台可用
group 项目组
specific 项目

状态
locaed锁定
paused暂停

访问admin页面 http://192.168.2.32/admin 然后点击cicd
评论 (0)

点击这里取消回复。

欢迎您 游客  

Copyright © 2025 网站备案号 : 蜀ICP备2022017747号
smarty_hankin 主题. Designed by hankin
主页
页面
  • #1742(无标题)
博主
tang.show
tang.show 管理员
linux、centos、docker 、k8s、mysql等技术相关的总结文档
210 文章 2 评论 200956 浏览
测试
测试