GitLab CI/CD 完全指南:从 Runner 安装到 Pipeline 实践
一、GitLab CI/CD 与 Runner 简介GitLab CI/CD 是 GitLab 内置的一套强大的持续集成、持续交付和持续部署工具。它通过项目根目录下的一个名为 .gitlab-ci.yml 的文件来定义和管理整个 CI/CD 流水线 (Pipeline)。 GitLab Runner 是执行 .gitlab-ci.yml 文件中定义任务(Jobs)的代理程序。它是一个独立的开源项目,可以安装在与 GitLab 实例不同的服务器上。Runner 接收来自 GitLab 的任务,在指定的环境中执行,并将结果(日志、产物等)回传给 GitLab。 二、安装 GitLab Runner官方推荐在独立的服务器上安装 GitLab Runner,以避免与 GitLab 实例争抢资源。不建议使用 Docker 或 Kubernetes 安装 Runner,因为这可能会给调用 docker, kubectl 等外部工具带来不便。 1. 使用官方仓库安装 (推荐)这是在主流 Linux 发行版上最简单的安装方式。 a. 添加 GitLab 官方仓库 1...
Jenkins 全方位指南:从入门到 CI/CD 实践
引言在现代软件开发实践中,持续集成和持续部署 (CI/CD) 是不可或缺的一环。Jenkins 作为开源 CI/CD 领域的领导者,以其强大的功能和灵活的扩展性,被广泛应用于自动化构建、测试和部署流程。本文将为您提供一份全面的 Jenkins 指南,从基本概念、安装部署,到核心的 Jenkinsfile 语法,再到与 GitLab/GitHub 的实战集成,帮助您快速掌握并应用 Jenkins 构建高效的自动化流水线。 同时,我们也会探讨 Jenkins 与另一个流行的 CI/CD 工具——GitLab CI 的差异,以帮助您在不同场景下做出更合适的选型。 GitLab CI vs. Jenkins:差异与选型在选择 CI/CD 工具时,了解不同工具的特点至关重要。 特性 GitLab CI Jenkins 集成度 与 GitLab 代码仓库深度集成,开箱即用。 独立于代码仓库,通过插件与各类平台(GitHub, GitLab, Bitbucket等)集成。 配置方式 基于 .gitlab-ci.yml 文件,语法...
Nexus3 配置 Docker
安装nexus3 docker 123456789101112131415161718192021mkdir -p /usr/local/nexus3chown -R 200 /usr/local/nexus3docker run -d \--privileged=true \--name=nexus3 \-u root \-p 8081:8081 \# 这几个端口给docker私有仓库使用,故在需要使用 Docker 的机器上修改 `/etc/docker/daemon.json`:{"insecure-registries": ["你的服务器IP:8001", "你的服务器IP:8002", "你的服务器IP:8003"]}-p 8001:8001 \-p 8002:8002 \-p 8003:8003 \# 启动容器时加入时间挂载,使用宿主机时间-v /etc/localtime:/etc/localtime:ro \-v /usr/share/zoneinfo/Asia/...
在 Windows 中安装极狐 GitLab Runner(解决 Host key verification failed)
摘自:https://blog.csdn.net/chqaz123/article/details/131029045 在运行runner的机子上,配置SSH密钥123git config --global user.name "输入你的用户名"git config --global user.email "输入你的邮箱"ssh-keygen -t rsa -C "邮箱名称" 该过程禁止设置密码 复制用户目录下id_rsa.pub的内容 将该数据填入GitLab配置公钥置处 下载GitLab Runner 下载GitLab Runner二进制文件,新建一个文件夹(不要有中文),并将二进制文件放入该文件夹,重命名为“gitlab-runner.exe” 执行部署安装指令如果代码没有子模块 直接开始运行runner,切记使用管理员权限 12.\gitlab-runner.exe install.\gitlab-runner.exe start 如果代码有子模块 必须在install的时候输入当前机子上的用户账...
利用 Fabric8 结合 Git Hook 动态配置 K8s 资源
背景 在多分支并行开发的集群下,新建分支以及删除分支都需要开发人员手动维护Istio/K8s的资源对象 目的 结合git hook -》 sync程序 -》 kubernetes API 流程,自动维护k8s以及istio资源对象,减少成本,提高开发效率 技术栈GitLab Api 使用GitLab Api,获取项目分支信息 123456 <!-- https://mvnrepository.com/artifact/org.gitlab/java-gitlab-api --><dependency> <groupId>org.gitlab</groupId> <artifactId>java-gitlab-api</artifactId> <version>${gitlab.version}</version></dependency> gitlab api认证 123456789101112131415161...
