GitLab Runner

从零入门 Serverless | 教你 7 步快速构建 GitLab 持续集成环境

旧街凉风 提交于 2020-10-25 03:57:50
作者 | 存诚 阿里云弹性计算团队 本文整理自 《Serverless 技术公开课》 ,“Serverless”公众号后台回复“入门”,即可获取系列文章 PPT。 **导读:**本节课程为您介绍如何基于阿里云 Serverless Kubernetes(简称 ASK)服务,来快速构建 GitLab 持续集成环境。 ASK 介绍 首先,ASK 是什么?ASK 是阿里云推出的无服务器版 Kubernetes 容器服务。与传统的 Kubernetes 服务相比,ASK最大的特点就是通过虚拟节点接入 Kubernetes 集群,而 Kubernetes 的 Master 节点也完全由阿里云容器服务托管。因此,在整个 ASK 集群中,用户无需管理和运维真实节点,只用关心 Pod 资源即可,ASK 中的 Pod 则由阿里云弹性容器实例 ECI 承载。 ASK 的优势主要有以下几点: 降低用户使用 Kubernetes 的门槛,无需管理 Node 节点; 无需考虑节点的容量规划; 以 Pod 为单位按需计费; 宕机故障影响面小,Pod 级别。 同时,ASK 主要适用的场景有: 在线业务弹性(视频直播、在线教育); 大数据计算(Spark); 定时任务; CI/CD 持续集成。 GitLab CI on ASK 的优势 说到 CI/CD,大家最熟悉的两个工具,一个是 Jenkins,另一个是

分享我在前后端分离项目中Gitlab-CI的经验

自作多情 提交于 2020-10-24 00:43:41
长话短说,今天分享我为 前后端分离项目 搭建Gitlab CI/CD流程的一些额外经验。 Before Gitlab-ci是Gitlab提供的CI/CD特性,结合Gitlab简单友好的配置界面,能愉悦的在Gitlab界面查看管道执行流程,并自然流畅的推动敏捷开发流程。 Gitlab-CI/CD的核心是搭建Gitlab Runner、编写.gitlab-ci.yaml文件。 详细示例请参考:Gitlab CI/CD+ASP.NETCore. 本次前后端两个项目使用同一个Gitlab Runner(shell模式),前端项目的gitlab-ci.yaml构建Job如图: Round 1 单个Gitlab Runner可为多个项目提供构建服务 , gitlab-Runner register 命令只能接受一个注册token,当时为支持多个项目,花了不少冤枉心思倒腾Gitlab Runner. 你可以为注册的项目解锁Runner,这样Girlab Runner就可以为其他项目提供构建: Round 2 使用Runner缓存加快前端构建过程 大家都知道npm_module被前端开发者诟病为毒瘤, 而Gitlab runner执行每次构建job之前都会清场,pull/fetch指定的代码再执行job, 这就导致每次 build job会耗时很久(要拉取毒瘤)。 #!/bin/bash cd

GitLabRunner和流水线的数据采集与监控

妖精的绣舞 提交于 2020-07-29 08:59:15
本文主要阐述如何配置GitLabRunner和GitLabCI/CD流水线的数据采集与监控。 1.1 配置GitLab Runner监控 GitLab Runner本地具有Prometheus指标,可以访问嵌入式HTTP服务器,通过 /metrics 路径公开。该服务器(如果已启用)可以被Prometheus监视系统抓取,或通过任何其他HTTP客户端进行访问。 公开的信息包括: Runner业务逻辑指标(例如,当前正在运行的作业数) Go特定的流程指标(垃圾收集统计信息,goroutines,memstats等) 常规指标(内存使用情况,CPU使用情况,文件描述符使用情况等) 这些指标是运维人员监视和了解GitLab Runners的一种方式。例如,您可能会对Runner主机上的平均负载和作业数量感兴趣。 Runner默认是没有开启内置的HTTP服务,可以通过两种方式配置指标HTTP服务器: 在 config.toml 文件中配置全局选项 listen_address 。 在Runner启动的时候添加 --listen-address 命令选项。 在这里我直接修改的 config.toml 文件,内容参考如下: $ cat config.toml listen_address = "[::]:9252" concurrent = 10 check_interval = 30 log

gitlab-runner 的 executors 之 docker

梦想的初衷 提交于 2020-05-09 15:59:04
gitlab-runner 的 executors 之 docker GitLab Runner 实现了许多执行程序,可用于在不同的场景中运行构建。所有执行程序分别为: SSH Shell Parallels VirtualBox Docker Docker Machine (auto-scaling) Kubernetes Custom 本文主要介绍 docker 执行程序: 两种不同的使用方式 踩过的坑 一些例子与经验 这是一个很好地选择。因为它可以提供一个干净的构建环境,项目所有依赖项都可以放到 docker 镜像中。同时,它还可以轻松创建具有依赖服务的构建环境,比如 MySQL。参考 https://docs.gitlab.com/runner/executors/README.html GitLab CI/CD 工作原理: https://docs.gitlab.com/ee/ci/introduction/index.html#how-gitlab-cicd-works 在 GitLab CI/CD 中构建 Docker 镜像: https://docs.gitlab.com/ee/ci/docker/using_docker_build.html 两种使用方式 docker-in-docker 文档: https://docs.gitlab.com/ee/ci

Gitlab CI — 前端自动化构建部署

懵懂的女人 提交于 2020-04-20 12:18:59
现在前端花样越来越多了,今天我要谈的并不是什么新奇的东西了,自动化构建部署嘛,如果你是一个 Javaer 或者 运维同学,对于 Jenkins 之类的自动化部署肯定不陌生。不过也提到过了,作为一个前端,特别是业务驱动的开发来说,平时肯定是很少接触这些东西的。笔者也是最近才打算前端自动化部署上容器,然后学习看了看,接下来就把学习过程和小总结给大家分享分享,很粗浅,大牛直接右上角(左上角)关闭就可以了。 我写文章的宗旨就是,把自己走过的弯路总结给大家,避免你们踩坑,不图你们点赞,少喷就好。因为确实经历过很多次“文章千百万,实践就完蛋”的场景太多了,大家也不对读者负责,所以我的文章一般都会有代码和 Demo 示例,做不到最好但是至少如果你遇到过相同的问题,肯定能解决~ 前置 Gitlab Gitlab Runner Docker 上面属于前置内容,Gitlab 就不用说了吧,一般公司内部使用的都是 Gitlab 仓库;Gitlab Runner,一般需要额外安装,预先编写的自动化构建部署的脚本(后面会介绍到)就是由它来运行的;最后,项目要打包成镜像部署到容器上,所以也需要 Docker。 因为是公司内部流程不是自己独自玩耍,所以让运维大大替你搞定就可以了,现在这个时代在公司使用应该都是默认会有的了。个人项目可能大概率应该是放在 Github 上的,小伙伴们可以选择 Github

GitLab Runner安装

不打扰是莪最后的温柔 提交于 2019-12-03 11:12:50
参考资料 https://docs.gitlab.com/runner/ https://docs.gitlab.com/ce/ci/quick_start/README.html 一、安装gitlab runner 使用gitlab源进行yum安装 curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash yum install gitlab-runner -y PS:runner建议和gitlab服务器分开放 一个安全问题,修改.gitlab-ci.yml文件可以做很多事情,如果权限没限制好,等于是有了root权限 一个性能问题,因为一般构建任务都会比较占用系统资源,影响gitlab性能,所以 GitLab Runner 可以安装到不同的机器上,所以在构建任务运行期间并不会影响到 GitLab 的性能 二、注册gitlab runner gitlab-runner register //url 和token 可以到 admin area的 runners查看 ..... 刷新admin area的 runners 三、使用gitlab runner 配置好 Runner 之后,我们要做的事情就是在项目根目录中添加 .gitlab

本地搭建的GitLab中开启Pages功能,不需要域名也可以

纵然是瞬间 提交于 2019-11-28 12:22:32
最近在公司内部,我负责搭建了GitLab服务,开启了从SVN逐步转到GIT的路程。目前自建的GitLab运行状态良好,非常好用。但是默认的GitLab并没有开启Pages服务,这样的话在编写项目说明文档时,就很不方便了。于是自己试着在本地搭建的GitLab中开启Pages功能,下面把开启过程和遇到的问题记录下来,分享给大家。 1、开启GitLab Pages功能 编辑 /etc/gitlab/gitlab.rb文件,修改如下两行 ##! Define to enable GitLab Pages pages_external_url "http://R7102/" gitlab_pages['enable'] = true 注意的这里的pages_external_url,配置的是Pages使用的域名。如果你没有域名,就先随便写个主机名什么的。之后我们可能通过配置Nginx来解决。 ※注意,最好通过 gitlab-ctl restart 重启GitLab,使得GitLab Pages功能生效。 2、安装配置GitLab Runner 为了能够自动发布Pages,我们需要安装GitLab Runner,然后通过GitLab CI做到Pages内容的自动更新。 由于网络环境不稳定,所以建议不要使用yum方式安装Runner,可以点击下面的链接下载GitLab Runner的安装包。