首先服务器要安装gitlab
gitlab服务器如果低于9.0版本,gitlab-runner要选低版本
这里gitlab 版本 8.8.0, gitlab-runner版本 v1.11.1
gitlab安装不多做叙述,安装gitlab-runner

这里有个重要的,如果是docker部署的gitlab,宿主机端口如果映射的不是80,则需更改环境external_url=域名,否则会报以下错误

端口已经改了不是80了
fatal: unable to access 'http://gitlab-ci-token:xxxxxx@xxx.xxx.xxx.xxx/dlh/citest.git/': Failed to connect to xxx.xxx.xxx.xxx  port 80: Connection refused
创建工作目录 /usr/local/docker/runner
创建构建目录 /usr/local/docker/runner/environment
下载 jdk-8u11-linux-x64.tar.gz 并复制到 /usr/local/docker/runner/environment
下载 apache-maven-3.6.1-bin.tar.gz 并复制到 /usr/local/docker/runner/environment

在 /usr/local/docker/runner/environment 目录下创建 Dockerfile,安装jdk还有maven到容器里

这里使用的gitlab版本为8.8.0社区版,gitlab-runner只能使用2.0以下的版本

FROM gitlab/gitlab-runner:v1.11.1
MAINTAINER dlh 2694116027@qq.com# 安装 Java
RUN mkdir -p /usr/local/java
WORKDIR /usr/local/java
COPY jdk-8u11-linux-x64.tar.gz /usr/local/java
RUN tar -zxvf jdk-8u11-linux-x64.tar.gz && \rm -fr jdk-8u11-linux-x64.tar.gz
# 安装 Maven
RUN mkdir -p /usr/local/maven
WORKDIR /usr/local/maven
# RUN wget https://raw.githubusercontent.com/topsale/resources/master/maven/apache-maven-3.5.3-bin.tar.gz
COPY apache-maven-3.6.1-bin.tar.gz /usr/local/maven
RUN tar -zxvf apache-maven-3.6.1-bin.tar.gz && \rm -fr apache-maven-3.6.1-bin.tar.gz
# COPY settings.xml /usr/local/maven/apache-maven-3.6.1/conf/settings.xml# 配置环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_11
ENV MAVEN_HOME /usr/local/maven/apache-maven-3.6.1
ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
WORKDIR /

在 /usr/local/docker/runner 目录下创建 docker-compose.yml

version: '3.1'
services:gitlab-runner:build: environmentrestart: alwayscontainer_name: gitlab-runnerprivileged: truevolumes:- ./config:/etc/gitlab-runner# 映射docker命令- /var/run/docker.sock:/var/run/docker.sock- /bin/docker:/bin/docker

执行docker-compose -f docker-compose.yml up -d

查询正在运行的容器
docker ps
进入到容器里
docker exec -it 0be3ea7795b1 bash
设置maven变量到系统配置
vi /etc/profile
加上
export PATH=$PATH:$MAVEN_HOME/bin
然后 source /etc/profile
这一步很重要
// 进入容器 进行gitlab-runner 注册
root@0be3ea7795b1:/# gitlab-runner register
执行完后会有提示,输入几个内容
这个链接在 gitlab设置里的runner里有步骤
输入Gitlab CI地址  http://xxx.xxx.xxx.xxx:8099
输入项目Gitlab CI token  HMgHedsyRsd9LySEDQjH
输入Gitlab Runner描述  ci-test
输入Gitlab Runner标签  test-tag
输入Gitlab Runner执行的语言  shellroot@44914cf556e1:/# gitlab-runner register
Running in system-mode.                            Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://xxx.xxx.xxx:8099
Please enter the gitlab-ci token for this runner:
HMgHedsyRsd9LySEDQjH
Please enter the gitlab-ci description for this runner:
[44914cf556e1]: gitlab-rn^Hunner-test2
Please enter the gitlab-ci tags for this runner (comma separated):
git-test1
Whether to run untagged builds [true/false]:
[false]: true
Registering runner... succeeded                     runner=HMgHedsy
Please enter the executor: docker, docker-ssh, parallels, shell, docker-ssh+machine, kubernetes, ssh, virtualbox, docker+machine:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

.gitlab-ci.yml文件放在项目根目录下


在gitlab上,gitlab-runner执行ci报错fatal: unable to access 'http://gitlab-ci-token:xxxxxx@ip/xxx/citest.git

gitlab为8.x版本的会这样,如果是docker部署的gitlab,宿主机端口如果映射的不是80,则需更改环境external_url=域名,否则会报以下错误
fatal: unable to access 'http://gitlab-ci-token:xxxxxx@ip/xxx/citest.git/': Failed to connect to xx.xx.xx.xxx port 80: Connection refused

gitlab为8.x以上的版本,在创建runner的时候,用交互式去创建

 gitlab-runner register -n \--url http://xxxxxx/ci/ \--registration-token xxxx \--executor docker \--description "runner1" \--docker-image "docker:stable" \--clone-url http://xxxxx
加上clone-url参数

或者在/etc/gitlab-runner/config.toml文件里

[[runners]]name = "test11"url = "http://xxxx"token = "xxxx"executor = "docker"#加上这个clone_url 参数,指定 urlclone_url = "xxx"[runners.docker]tls_verify = falseimage = "docker:stable"privileged = falsedisable_cache = falsevolumes = ["/cache"][runners.cache]

参考文章

作者:撸帝
链接:https://www.jianshu.com/p/2a0f1e109c71
来源:简书

安装gitlab-runner,注册runner到gitlab相关推荐

  1. GitLab CI/CD 基础入门 Runner注册配置使用

    特点 开源: CI/CD是开源GitLab社区版和专有GitLab企业版的一部分.(极狐) 易于学习: 官方具有详细的学习操作文档. 无缝集成: CI/CD是GitLab的一部分,支持从计划到部署,具 ...

  2. GitLab 严重漏洞可导致攻击者窃取runner 注册令牌

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 GitLab Community 和 Enterprise Edition 均受严重漏洞 (CVE-2022-0735) 影响,它可导致攻击者窃 ...

  3. 详解Gitlab Runner注册与过程中遇到的问题

    前言 官方文档 之前我们已经搭建好了一个gitlab平台,也已经将项目托管于Gitlab平台了,现在要开始使用Gitlab的CD功能,但是还要做一步工作,就是创建一个Gitlab Runner并将Ru ...

  4. CICD之 gitlab和gtilab runner

    gitlab官网地址 官网文档地址 https://docs.gitlab.com/runner/install/docker.html 一.gitlab 1.gitlab安装 方式一:rpm包安装( ...

  5. gitlab ip变更runner拉取代码失败、shell启动springboot项目启动起来。

    gitlab ci/cd拉取代码失败 使用gitlab cicd 构建自动化部署时,runner拉取代码失败了,突然想到是ip变更了(用的虚拟机,nat模式改成了桥接模式,然后导致ip变更了),拉取代 ...

  6. 使用docker 注册runner

    获取gitlab 信息 需要从gitlab中获取两个信息,一个是gitlab的域名,一个是需要注册runner的token gitalb 的runner按照范围可以有三种 全局类型即整个gitlab ...

  7. GitLab容器注册服务已集成于Docker容器

    GitLab最近发布了集成式Docker容器注册(Container registry)服务,该服务由GitLab工程师Mark Pundsack开发,主要可用于将Docker容器映像与GitLab的 ...

  8. gitLab账号注册,登陆,配置SSH,验证

    文章目录 前言 注册账号 登陆 添加SSH 验证配置 前言 本文主要目的是讲述gitlab账号注册,登陆功能,以及如何生成ssh key,并添加ssh key到gitlab中.通过git工具将gitl ...

  9. 手把手gitlab最详细版安装教程centos7下安装(最新版),修复gitlab

    1.服务器要求,8G内存以上,4核心cpu以上 2. 新建 /etc/yum.repos.d/gitlab_gitlab-ce.repo ,内容: [gitlab-ce] name=Gitlab CE ...

最新文章

  1. ecshop /api/client/api.php、/api/client/includes/lib_api.php SQL Injection Vul
  2. HTML DOM Console对象
  3. Matlab与数据结构 -- 如何获取给定目录中的文件
  4. java调用python的函数_java如何调用python的.py文件,以及如何执行里面的函数,和创建...
  5. 特征工程+特征组合+特征交叉+特征变换+生成特征
  6. JTable动态显示隐藏列
  7. c语言 倒计时不清屏_打字游戏超细讲解(C语言基础小游戏)
  8. 无根树转有根树的一般方法
  9. element-ui做背单词的网站
  10. 阿里云MVP闪亮云栖大会,技术干货持续更新中
  11. 单链表——判断两个单链表(无头节点)是否相交,如果相交,返回单链表的第一个结点
  12. 百度新闻 谷歌新闻_每日新闻摘要:到目前为止,Google I / O提供的最佳信息
  13. 感染新冠后为啥会丧失​嗅觉?最新《细胞》论文终于搞明白了!
  14. qt(qu chu biao ti lan /窗口非暴力置顶)
  15. macos系统镜像iso_系统原装ISO镜像软碟通刻录启动U盘教程
  16. 猿猿趴架构实战--03 什么是架构
  17. excel合并两列内容_合并多个Excel文件内容到一个Excel中
  18. 提权-Windows操作系统
  19. Django连接MySQL数据库错误:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module
  20. oracle 断电起不来,解决方案

热门文章

  1. 韩顺平设计模式之模板方法模式
  2. 第37讲-项目二-乘法口诀表
  3. ThinkPHP 5 框架实现多语言 实例讲解
  4. MySQL中大于小于,IN,OR,BETWEEN性能比较分析
  5. Softing中国快讯 | 2021重庆安博会
  6. 手把手教你搭建Linux开发环境(VMware+Ubuntu)(一)——安装VMware虚拟机和Ubuntu
  7. 个人复盘 方法(转)
  8. 微信小程序mina框架简单总结
  9. H5西游大圣轮回添加宠物
  10. vue使用loading加载