热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【GITLAB】服务配置可持续集成部署的项目案例安装篇

前言什么是CICD?CI(ContinuousIntegration)持续集成,CD(ContinuousDelivery)持续部署个人理解本地开发代码,提交远程仓库仓库接收到提交

前言

什么是CI/CD?
CI (Continuous Integration) 持续集成, CD (Continuous Delivery) 持续部署

《【GITLAB】 服务配置可持续集成部署的项目案例 - 安装篇》

个人理解

  1. 本地开发代码, 提交远程仓库
  2. 仓库接收到提交操作,进入持续集成, 包括编译,自动化测试 (CI)
  3. 编译测试成功后,部署到线上服务器(CD)

gitlab-runner 介绍

gitlab 提供了一个持续集成的服务, 如果你在项目仓库里面加入.gitlab-ci.yml文件 同时给项目配置了gitlab-runner, 那么每一次push commit, 都会触发你的 CI pipeline (持续集成管道)

安装gitlab-runner

官方安装文档

代理安装 gitlab-runner

如果机器能够正常访问外网,那么查阅官方文档进行安装

一般来说,内网与外网是处于隔断的情况,但是可以通过http代理服务器,允许内网访问外网的资源。
假设代理服务器机器的ip为: http://192.168.1.100:8000

具体步骤:

编辑 yum.conf

sudo vi /etc/yum.conf
# 追加一行
proxy=http://192.168.1.100:8000

添加 GitLab’s official repository (yum仓库)

http_proxy=http://192.168.1.100:8000 curl -L -x $http_proxy https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sed "s#curl -sSf#curl -x $http_proxy -sSf#g" > script.rpm.sh
sudo bash script.rpm.sh

下载安装gitlab

# 查看gitlab-runner的版本
yum list gitlab-runner --showduplicates | sort -r
gitlab-runner.x86_64 10.5.0-1 runner_gitlab-runner
gitlab-runner.x86_64 10.4.0-1 runner_gitlab-runner
gitlab-runner.x86_64 10.3.1-1 runner_gitlab-runner
gitlab-runner.x86_64 10.3.0-1 runner_gitlab-runner
gitlab-runner.x86_64 10.2.1-1 runner_gitlab-runner
gitlab-runner.x86_64 10.2.0-1 runner_gitlab-runner
gitlab-runner.x86_64 10.1.1-1 runner_gitlab-runner
gitlab-runner.x86_64 10.1.0-1 runner_gitlab-runner
gitlab-runner.x86_64 10.0.2-1 runner_gitlab-runner
gitlab-runner.x86_64 10.0.1-1 runner_gitlab-runner
gitlab-runner.x86_64 10.0.0-1 runner_gitlab-runner
# 指定安装某个版本
sudo yum install gitlab-runner-10.1.1-1 -y

安装完成后, 出现一个/home/gitlab-runner 文件夹

gitlab-runner 命令

主要的命令操作有如下: install, start, stop, status, register, unregister

install 命令
安装配置 gitlab-runner, 如果使用yum install 则会默认安装

# --user 用户名
# --working-directory 工作目录
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

start 命令
sudo gitlab-runner start, 启动服务

stop 命令
sudo gitlab-runner stop, 关闭服务

status 命令
sudo gitlab-runner status, 查看服务运行状态

register 命令
注册一个任务,这个属于gitlab-runner 比较重要的命令, 我们需要结合一个实际的案例进行演示,
项目仓库地址: https://gitlab.com/liyanlong/…

在仓库中查阅CI / CD Setting, 得到 CI token

《【GITLAB】 服务配置可持续集成部署的项目案例 - 安装篇》

sudo gitlab-runner register
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
https://gitlab.com/
Please enter the gitlab-ci token for this runner:
gHKt7inn3nBzJ2m5gx-P
Please enter the gitlab-ci description for this runner:
hostname
Please enter the gitlab-ci tags for this runner (comma separated):
node,test
Whether to run untagged builds [true/false]:
true
Whether to lock the Runner to current project [true/false]:
false
Registering runner... succeeded runner=gHKt7inn
Please enter the executor: docker+machine, kubernetes, docker-ssh, ssh, shell, virtualbox, docker-ssh+machine, docker, parallels:
shell

注册后使用 gitlab-runner list 查阅配置

sudo gitlab-runner list
Listing configured runners COnfigFile=/etc/gitlab-runner/config.toml
hostname Executor=shell Token=token URL=https://gitlab.com/

注册后,gitlab 页面将出现一个运行的runner

《【GITLAB】 服务配置可持续集成部署的项目案例 - 安装篇》

gitlab-runner unregister 命令

  1. 通过 url 和 token 取消注册 gitlab-runner unregister --url http://gitlab.example.com/ --token t0k3n
  2. 通过name取消注册 gitlab-runner unregister --name test-runner
  3. 删除所有注册runner gitlab-runner unregister --all-runners

知识点

  • 为什么使用gitlab-ci
  • gitlab-runner命令详解

推荐阅读
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 为PHP5安装curl和gd
    2019独角兽企业重金招聘Python工程师标准一、查看php5是否安装了curl:1在web服务器目录(Ubuntu下通常为varwww ... [详细]
  • HyperledgerComposer环境安装1.安装基本软件包**如果使用Linux安装HyperledgerComposer,请注意以下建议:以 ... [详细]
  • 1.判断磁盘使用空间df-h|grep-vFile|seds%g|awk{if($580)print使用空间超过了80%:,$6}或#!binbash#Filename:di ... [详细]
  • 使用git+gitlab搭建私有的版本控制环境
    使用git+gitlab搭建私有的版本控制环境*硬件环境:git客户端Windows版,gitlabubuntu版,Windows10,ubuntu16.0.3一、git下载与安装 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了5个基本Linux命令行工具的现代化替代品,包括du、top和ncdu。这些替代品在功能上进行了改进,提高了可用性,并且适用于现代化系统。其中,ncdu是du的替代品,它提供了与du类似的结果,但在一个基于curses的交互式界面中,重点关注占用磁盘空间较多的目录。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • linux服务器时间同步失败解决方法
    linux服务器时间同步失败解决方法1、为什么会时间不同步:①计算机的时间是根据电脑晶振以固定频率震荡而产生的,由于晶振的不同或者老化,会 ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • 四行代码换国内源快速安装配置Rust
    四行代码快速安装Rust很多朋友苦恼官方给出的终端安装命令,太慢,有时候直接连接不上。接下来介绍四行代码快速换源安装配置RUST。#先配置国内源打开终端 ... [详细]
  • “自主设计与实施的故障注入微服务Sidecar,欢迎大佬批评指正!”
    “故障注入Sidecar“——为您的微服务注入故障以验证集群性能!由于导师和实验室师兄们的科研需要,本人专门以Sidecar的模式设计了一个用于错误注入的微服务模块。该模块可以与任 ... [详细]
  • 背景用Python做过爬虫的小伙伴可能接触过Scrapy,GitHub:https:github.comscrapyscrapy。Scrapy的确是一个 ... [详细]
author-avatar
潇潇小姐姐cherryhv_309
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有