0


搭建git runner实现自动编译

Git Runner 是指使用 Git 进行版本控制的 CI/CD 运行器(Runner),通常与 GitLab CI、GitHub Actions 或其他持续集成/持续部署工具结合使用。它的主要作用是在代码库中执行自动化构建、测试和部署等任务。下面是一些有关 Git Runner 的基本信息和如何使用它的步骤。

1. Git Runner 的基本概念

  • Runner:Git Runner 是一个独立的应用程序,可以通过 GitLab CI 或 GitHub Actions 来运行作业。它可以在本地或云环境中运行,可以与不同的环境(如 Docker、虚拟机等)集成。
  • CI/CD:持续集成 (CI) 是一种软件开发实践,通过自动化构建和测试过程,频繁地集成代码变化。持续部署 (CD) 是将代码自动部署到生产环境的一种方式。

2. GitLab Runner 和 GitHub Actions Runner

GitLab Runner

如果你使用 GitLab,GitLab Runner 是一个开源项目,可以在本地机器或服务器上安装。它支持多种执行环境,包括 Docker、Shell、SSH 和 Kubernetes。

3. 环境搭建

下面以在ubantu服务器上搭建运行Gitlab runner为例。

在runner/gitlab-runner - Packages · packages.gitlab.com网址中下载对应自己电脑配置的deb包,我的电脑为64位,所以下载的gitlab-runner_amd64.deb。

①安装gitlab runner 的deb包

将下载的deb包复制到服务器你的安装路径下,例如我的安装路径在~/download/git_runner,将deb包放置在该路径下,执行下面的命令,./表示当前路径。
sudo dpkg -i ./gitlab-runner_amd64.deb
如果执行上述命令时出现INFO: Docker installation not found, skipping clear-docker-cache ,没有安装成功,那就需要安装Docker

②安装Docker

sudo apt update

安装依赖包

sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

添加 Docker 的官方 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

官方安装

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

安装最新版本的 Docker Engine-Community

sudo apt install docker-ce

到此安装完成, 可以输入 sudo docker --version 或者 sudo docker run hello-world 测试是否安装成功

安装成功后再执行①安装gitlab runner 的deb包就可以成功了。

③注册gitlab runner

gitlab-runner register -n --name my_runner -u 服务器url -r zQ-LgUyCuU5EToehUrQ9 --executor shell --builds-dir=编译路径 --cache-dir=缓存路径

--name 表示runner名称

-u 表示gitlab服务器url

-r 表示gitlab上指定仓库runner的token

--executor shell 表示编译时执行脚本的类型为shell

--builds-dir 表示runner使用的编译目录,编译后的工程存放在该路径下

--cache-dir 表示runner使用的缓存目录

没有setting这个选项表示权限不够。

④开启gitlab runner

gitlab-runner run

⑤查看gitlab runner状态

sudo gitlab-runner status

⑥上述配置完之后打开gitlab可以看到我们刚才注册的gitrunner

上述操作完之后,关闭远程控制服务器runner也会被关闭,可以在/etc/ini.d/下面写个脚本实现开机自启动,这样就可以在后台运行了,不需要再ssh连接服务器手动开启。

4. 配置

.gitlab-ci.yml
    在工程根目录下创建.yml文件,根据自己需求编写文件,这里简单介绍了基本用法。这样提交代码的时候就可以实现自动编译啦。在Build->Jobs中可以查看每次提交的编译结果。
image: 
  name: gitlab/gitlab-runner:latest 
  entrypoint: ["/bin/sh", "-c"]

#执行job的顺序
stages:
  - build
  - test
  - deploy

build_job:
  stage: build
  tags:
    - my_runner   # 选择使用的runner,如果没有设置tags不会往下执行这个job
  only:           #运行script的条件
    - tags        
    - test_runner # 仅在test_runner的分支上执行
  script:         #linux命令行
    - cd ~

test_job:
  stage: test
  tags:
    - my_runner
  script:
    - echo 'tests completed'

deploy_job:
  stage: deploy
  tags:
    - my_runner
  only:
    - master    # 仅在master的分支上执行
  script:
    - echo "部署到生产环境"
    - ./deploy.sh
    - echo 'deployment success'
标签: git gitlab

本文转载自: https://blog.csdn.net/qq_53053277/article/details/143056190
版权归原作者 Cara23456 所有, 如有侵权,请联系我们删除。

“搭建git runner实现自动编译”的评论:

还没有评论