gitlab runner 持续集成 CI 持续部署 CD ( 一 )

gitlab runner

一、安装并配置必要的依赖项
a) 在centos7的系统防火墙中打http和ssh访问
sudo  yum install -y curl policycoreutils-python openssh-server
sudo  systemctl enable sshd
sudo  systemctl start sshd
sudo  firewall-cmd --permanent --add-service=http
sudo  systemctl reload firewalld
b) 安装postfix以发送通知邮件
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
c) iptables规则
iptables -I INPUT -p tcp --dport <端口号>  -j  ACCEPT
service iptables save
service iptables restart
二、添加gitlab镜像源,并安装
a) 添加GitLab包存储库。
curl  https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
# 或者清华镜像源
[gitlab-ce]name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key

b) 设置域名访问地址并安装gitlab

sudo EXTERNAL_URL="https://gitlab.example.com"  yum install -y gitlab-ce
# EXTERNAL_URL也可配置为EXTERNAL_URL=http://IP:端口

三、配置邮箱(例qq企业邮箱)

编辑配置文件/etc/gitlab/ gitlab.rb
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.exmail.qq.com”
gitlab_rails[‘smtp_port’] = 465
gitlab_rails[‘smtp_user_name’] = “你的邮箱”
gitlab_rails[‘smtp_password’] = “你的密码”
gitlab_rails[‘smtp_domain’] = “smtp.exmail.qq.com”
gitlab_rails[‘smtp_authentication’] = “login”
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘smtp_tls’] = true
gitlab_rails[‘gitlab_email_from’] = ‘你的邮箱’
gitlab_rails[‘gitlab_email_display_name’] = ‘Gitlab’

重启服务#gitlab-ctl reconfigure

发送测试邮件
#gitlab-rails console
#Notify.test_email(‘接收邮件的邮箱’,‘1234’,‘5678’).deliver_now

四、安装gitlab-runner
docker-compose 安装gitlab-runner

https://www.jianshu.com/p/5810760049ac

1、 添加镜像源

在/etc/yum.repos.d目录下新建文件gitlab-runner.repo填写如下
[gitlab-runner]
name=gitlab-runner
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key

2、 安装gitlab-runner
yum  clean all
yum makecache
yum install gitlab-runner  -y
3、注册gitlab-runner

说明gitlab-runner有两种,
共享型Runner分为
共享型(Shared Runner):使用gitlab的root用户下的token注册
特享型(Specific Runner):使用gitlab项目相关人员下的token注册

查看token及url方式如下图
在这里插入图片描述

执行job方式后来选择为shell。
在这里插入图片描述

注册成功后gitlab会有相应显示

l 私有型登陆gitlab查看某项目的url和token
#每个项目的token都不一样注意例如:

  1. 查看token单击设置 ---》  ci/cd  à  runner  如下图所示url和token
    
  2. 注册runner
    

登陆gitlab-runner执行命令注册
  #gitlab-ci-multi-runner register
 #注册runner 如下图所示依次输入
#gitlab-ci-multi-runner start runner-name
在这里插入图片描述

  1. 配置文件(忽略)  配置文件在  /etc/gitlab-runner/config.toml
    
五、.gitlab-ci.yml简介
关键字介绍
script             由Runner执行的Shell脚本。
image              使用docker镜像,  image:name
service            使用docker  services镜像, services:name
before_script      执行作业前运行的脚本
after_script       作业完成后运行的脚本
stages             定义管道中的步骤,依次运行
stage              定义管道中步骤的作业段
only              指定作业限制only:refs,only:kubernetes,only:variables,和only:changes
tags               指定执行作业的runner
allow_failure      允许job失败
when               什么时候开始工作,
  on_success       只有当前一个阶段的所有工作都成功时(或者因为它们被标记而被认为是成功的allow_failure)才执行工作 。这是默认值。
  on_failure       仅当前一阶段的至少一个作业失败时才执行作业。
  always           无论先前阶段的工作状态如何,都可以执行工作。
  manual           手动执行作业
  delayed          延迟作业。后面跟start_in,start_in 30minutes(延迟30分钟),不加单位,默认为秒。最长可延迟1小时。environment     作业部署到的环境名称   #暂未搞清
cache    
  key:"$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" #为每分支,每步骤启用缓存
artifacts         job成功时附加到作业的文件或目录
dependencies      此job依赖其他jobz,主要作用于作业优先级
converage         给定作业代码覆盖率设置       
retry             在发生故障时,可以自动重试作业的次数。
parallel        应该并行运行多少个作业实例
trigger          定义下游管道触发器
include          允许此作业包含外部YAML
extends          此作业将继承的配置项
pages            上传作业结果用于gitlab pages
variables        作业级别定义作业变量
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值