mac gitlab runner安装教程

runner介绍

GitLab Runner是一个开源项目,主要用于运行您的任务并将结果发送回GitLab。它与GitLab CI一起使用,GitLab CI是GitLab自带的开源持续集成服务,用于协调各项任务。你可以将GitLab Runner视作一个个的工人,而GitLab-CI就是这些工人的管理中心。在这个中心中,所有的工人都需要进行注册并表明自己是为哪个项目服务的。

它是使用Go语言编写的开源软件,因此可以在多种常用平台上运行,例如Linux/Unix、Windows、MacOS、Kubernetes等。
GitLab CI/CD 中,运行器运行 .gitlab-ci.yml 中定义的代码。
运行器是一种轻量级、高度可扩展的代理,它通过以下方式获取 CI 作业
GitLab CI/CD 的协调器 API,运行作业,并将结果发送回 GitLab 实例。
在这里能看到所有操作系统/docker的安装教程:
在这里插入图片描述

以下是在mac上的安装教程:

  1. 安装gitlab-runner
sudo curl --output /Users/jpq/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-darwin-amd64
  1. 权限
sudo chmod +x /Users/jpq/gitlab-runner
  1. 安装
gitlab-runner install
  1. 启动
gitlab-runner start
  1. 注册到gitlab上
gitlab-runner register --url https://git.uanla.com/ --registration-token $REGISTRATION_TOKEN

注册执行器

执行上文中的第5步后我们就需要注册runner到gitlab上:


# 输入本地的 gitlab URL
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.com

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

# 输入 tag, 注意要跟 job 的 tag 一致
Please enter the gitlab-ci tags for this runner (comma separated):
tag1

# 选择 executor, 此次为shell
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
shell

成功后将显示:
在这里插入图片描述

停止和卸载

# 停止服务
gitlab-runner stop

# 卸载服务
gitlab-runner uninstall

# 清理文件
rm -rf /Users/jpq/gitlab-runner

# 删除用户
userdel -r gitlab-runner

以shell为执行器部署java服务

我们知道当runner register时,我们如果选择了shell为执行器,设置了tag为tag1,意味着是本地运行环境。
比如我们有一个pipeline-test项目的.gitlab-ci.yml配置就可以为:

stages:
  - build
  - deploy

cache:
  key: ${CI_BUILD_REF_NAME}
  paths:
    - "target/*.tar.gz"

variables:
  PROJECT: "pipeline-test"

# 编译
build:
  stage: build
  only:
    - dev
    - beta
    - master
    - testa
    - testb
    - testc
  script:
    - echo "${PROJECT} ${CI_COMMIT_REF_NAME} build"
    - "mvn clean package -Dmaven.test.skip=true  -Dproguard.skip=true -P ${CI_COMMIT_REF_NAME}"
    - echo "${PROJECT} ${CI_COMMIT_REF_NAME} build ok"
# 因为是Maven编译,所以会有Jar包产物,这里定义产物的过期时间
  artifacts:
    name: $PROJECT
    expire_in: 7 days
    paths:
      - target/*.jar
  tags:
    - tag1

# 部署环境
deploy:
  stage: deploy
  only:
    - dev
    - beta
    - master
    - testa
    - testb
    - testc
  script:
    - echo "${PROJECT} ${CI_COMMIT_REF_NAME} deploy"
    # 杀死原进程
    - jps -v | awk '/pipeline-test/{print "kill -9",$1}' | sh -
    # 后台运行jar
    - nohup java -jar target/*.jar > log.file 2>&1 &

  tags:
    - tag1

有此配置之后,我们就可以自动构建并部署当前应用(pipeline-test)了。

注意事项和一些问题解决方式

  1. 当使用gitlab-runner进行CI&CD的时候,如果是Java项目(Maven管理),需要执行mvn test等命令时候,需要在机器上安装JDK和MAVEN,配置其home到.bash_profile中。
    报错记录:
  2. ta前有感叹号!并提示:New runner. Has not connected yet 。主要是权限问题引起的,比如sudo gitlab-runner start 安装的也要sudo register
  3. Runtime platform arch=arm64 os=darwin pid=15784 revision=d89a789a version=16.4.1
    FATAL: Failed to install gitlab-runner: open /Users/XXX/Library/LaunchAgents/gitlab-runner.plist: permission denied 权限被拒绝,没有访问文件的权限。需要切换到当前用户XXX来进行安装。
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Docker Compose 是 Docker 容器编排工具,可以将多个 Docker 容器组合在一起,以便一次性启动、关闭和管理多个容器。GitLab Runner 是一种程序,它与 GitLab CI/CD 集成,用于执行 GitLab CI/CD 作业。在本文中,我们将讨论如何在 Docker Compose 中安装 GitLab Runner。 首先,我们需要在 GitLab 上创建一个新的 Runner。进入 GitLab 网站的个人账户页面,点击左侧菜单栏的 “Runner” -> “设置” 进入设置页面。依次选择 Runner 引擎类型、 Runner TAG、 Runner 选项、 Runner 要使用的镜像、Runner 要运行的命令等。选择完成后,点击 “注册 Runner” 完成 Runner 的创建。 接着,在 Docker Compose 中配置 GitLab Runner。可以使用像下面这样的配置文件: ``` version: '3' services: my-runner: image: gitlab/gitlab-runner restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - ./my-runner-config:/etc/gitlab-runner environment: - CI_SERVER_URL=https://gitlab.example.com - RUNNER_TOKEN=xxxxxxxxxx - RUNNER_EXECUTOR=docker ``` 该配置文件定义了一个名为“my-runner”的服务,使用了 GitLab 的官方 Runner 镜像。该服务将始终启动,并将 Docker 守护程序套接字文件 /var/run/docker.sock 和 GitLab Runner 配置文件挂载到容器中的 /etc/gitlab-runner 目录下。在环境变量中,设置了 CI_SERVER_URL、RUNNER_TOKEN 和 RUNNER_EXECUTOR,它们是 GitLab Runner 执行所需的数据。 最后,我们使用命令 `docker-compose up -d` 在 Docker Compose 中启动 GitLab Runner 服务。现在,GitLab Runner 已安装并准备好执行 CI/CD 作业了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

π克

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值