gitlab autuo devops
[参考文章]
1. 在虚拟机或服务器运行gitlab-runner容器
docker run -d --name gitlab-runner --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest
2. 新建测试项目,并复制token
3. 注册项目runner
docker exec -it gitlab-runner gitlab-runner register
- 配置完成后会生成config.toml,如注册时输入有误可以手动修改错误后重启gitlab-runner,注意:这里要手动添加一行
pull_policy = "never"
(缩进用4个空格,不能用tab),意思是不从docker仓库拉取镜像,只从本地拉取(具体参考Chengzi_comm的专栏)这里的token跟第2步的token不是同一个东西,不要混淆。
vim /srv/gitlab-runner/config/config.toml
- 回到第2步的页面就可以看到注册的runner了, 禁用共享的runners(如图页面)
- 启用Auto DevOps
4. 至此,runner注册好了也启用auto devops了,但此时你修改项目文件并提交修改就会触发auto devop,但是会失败,因为没有.gitlab-ci.yml文件在项目的根目录
5. 所以我们要编写.gitlab-ci.yml,并调用刚注册好的Specific Runners,注意:要将此文件放在项目根目录!
stages:
- build
- test
build:
stage: build
image: gbuild:latest
script:
- echo "info> sample build complete"
only:
- master
tags:
- Specific Runners
test:
stage: test
image: gtest:latest
script:
- echo "info> sample test complete"
only:
- master
tags:
- Specific Runners
6. 而第5步需要用到docker image:gbuild:latest和image:gtest:latest,这2个镜像是自定义的镜像在docker仓库是没有的,
- 可以参考Chengzi_comm的专栏的第二步(2)用dockerfile build 2个自定义名字的镜像替换掉我这里的gtest:latest等,
- 也可以拉个系统镜像,然后运行一个容器,在里面安装需要的工具,之后将容器打包成自定义的镜像。
- 也可以拉我的镜像来测试
docker pull vickeywu/gbuild
,我只上传了一个镜像,如果需要多个,只需自己拉下来重新打个tag就行,参考如何将docker 镜像上传到docker hub仓库
7. 现在修改项目文件提交之后就会自动调用注册的runner来构建测试代码了
8. 在服务器上也可以看到runner运行时会调用gbuild镜像运行一个临时的容器以测试代码。
gitlab autuo devops的更多相关文章
- 大揭秘| 我司项目组Gitlab Flow && DevOps流程
长话短说,本文全景呈现我司项目组gitlab flow && devops Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架. Dev ...
- 02 基础设施/Gitlab - DevOps之路
基础设施/Gitlab - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 源代码管理器选用Gitlab,新版(2 ...
- 如何搭建基于Docker的gitlab服务器集成CI/CD实现DEVOPS(完整版)
From this lesson you will learn about 1,How to install and configure a docker based gitlab server 2, ...
- 【DevOps】团队敏捷开发系列--开山篇
随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发-测试-发布)模式已经不能满足快速交付的需求.2009 年左右 DevOps 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测 ...
- Gitlab Flow到容器
一.简介 长话短说,本文全景呈现我司项目组gitlab flow && devops Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架 ...
- rpm,docker,k8s三种方式安装部署GitLab服务
rpm方式 源地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ wget https://mirrors.tuna.tsinghua ...
- 【Devops】【docker】【CI/CD】3.Jenkins+GitLab+docker+springboot 实现自动化部署
==================================================================================================== ...
- 【Devops】【docker】【CI/CD】1.docker搭建Gitlab环境
CI/CD[持续化集成/持续化交付] docker搭建Gitlab环境 1.查询并拉取gitlab镜像 docker search gitlab docker pull gitlab/gitlab-c ...
- GitLab+Rancher实践DevOps【转载】
摘要 本文描述使用自建GitLab和Rancher实践持续集成/持续交付流水线的过程,并用Rancher实现容器编排和蓝绿发布. GitLab持续集成 GitLab持续集成/持续交付流程图:部署Git ...
随机推荐
- POJ3414(BFS+[手写队列])
贴一发自己写的手写队列-.. #include <stdio.h> #include <iostream> #include <string.h> #include ...
- 【Luogu P1502】 窗口的星星
→传送窗口 (复制一下题面好了~) 题目背景 小卡买到了一套新房子,他十分的高兴,在房间里转来转去. 题目描述 晚上,小卡从阳台望出去,“哇~~~~好多星星啊”,但他还没给其他房间设一个窗户,天真的小 ...
- Linux —— 文件搜索命令
文件搜索命令(配置文件/etc/updatedb.conf) locate 文件名 搜索速度非常快 在后台数据库中按照文件名搜索 updatedb 更新数据库 只可以按照文件名搜索 whereis 命 ...
- UVa12716:gcd等于xor(打表+类素数筛+差分约束)
紫书给的分析缺少一些证明性的东西,将我自己的OneNote笔记贴在这里.
- SpringMVC-高级参数绑定
绑定数组 需求 在商品列表页面选中多个商品,然后删除. 需求分析 此功能要求商品列表页面中的每个商品前有一个checkbook,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品 ...
- eShopOnContainers 是一个基于微服务的.NET Core示例框架
找到一个好的示例框架很难,但不是不可能.大多数是小型Todo风格的应用程序,通常基于SimpleCRUD.值得庆幸的是,Microsoft已经为eShopOnContainers创建了一个基于微服务的 ...
- 利用HttpClient4访问网页
一.HttpClient介绍 虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是它没有提供足够的灵活性和其他应用程序需要的功能.HttpClient 是 Apac ...
- python 生成器与迭代器
#! /usr/bin/env python# -*- coding:utf-8 -*- def xrange(n): num = 0 while True: if num > n: retur ...
- DB2 函数
1.大小写转换 转大写UPPER 转小写LOWER
- python_21(Django中间件)
第1章 中间件 1.1 介绍 1.2 种类 1.3 自定义中间件 1.4 process_request 1.4.1 注册中间件 1.5 process_response 1.6 process_vi ...