1、使用 docker 安装 gitlab

  docker run -d  --hostname gitlab \

       --env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.0.107/'; gitlab_rails['lfs_enabled'] = true;" \

       -p 8443:443 -p 80:80 -p 22:22  --name gitlab \

       --restart always  -v $PWD/config:/etc/gitlab  \

       -v $PWD/logs:/var/log/gitlab  -v $PWD/data:/var/opt/gitlab  gitlab/gitlab-ce

 参考URL:https://docs.gitlab.com/omnibus/docker/

2、安装、注册 runner

  安装参考官网

 参考URL:https://docs.gitlab.com/runner/install/

  需要runner的执行用户有root权限,提升用户的root权限自行度娘

3、配置yaml文件

官网URL:https://docs.gitlab.com/ce/ci/yaml/README.html

参考URL:https://gitlab.com/gitlab-org/gitlab-ce/tree/master/lib/gitlab/ci/templates

  目前runner用的shell,在windows下需要注意编码,使用npm install 时需要使用 call;

4、使用gitlab与gitlab-runner实现项目自动化部署

  首先创建一个项目 test-ci,创建dev分支,dev为开发与测试的分支,使用dev分支自动化部署测试环境,同时dev与master分支均为保护分支,不可push,只有有权限的人才能merge;

  master为最终生产环境的分支,当dev分支的代码测试通过,可merge到master分支,同时可以使用tag来标识版本号并启动deploy job。

很尴尬:https://docs.gitlab.com/ce/ci/variables/README.html  tag标识版本gitlab 9 + runner 0.5 支持

      最终解决方案客户端使用git tag 获取到版本号。

gitlab 之 cicd的更多相关文章

  1. linux中安装gitlab和cicd(断网版)

    1:先介绍一下怎么查找所需要的依赖包 #yum install rpmname--downloadonly --downloaddir=/rpmpath 例如:yum install gitlab-r ...

  2. 基于Gitlab的CICD流程

    本片文章主要初步介绍什么是CICD流程,并且把整个流程进行拆分理解整个流程的跑通过程. 1.CICD概述 什么是CICD呢? 简单的说CICD就是持续集成自动构建自动测试自动部署. 从概念上就可以看出 ...

  3. Centos 7 最小化Gitlab部署操作

    Gitlab的介绍 gitlab是一个版本控制的集群软件,集成了git.postgresql.Ruby.nginx.redis等重要应用工具: gitlab分为ce和ee版本:CE是社区版,EE是企业 ...

  4. DevOps平台

    DevOps定义(来自维基百科): DevOps(Development和Operations的组合词)是一种重视"软件开发人员(Dev)"和"IT运维技术人员(Ops) ...

  5. 通过Maven发部项目的最实用配置

    一.问题 我们平时开发项目,使用Maven或者Idea部署,尽可能是要做到自动化.一般情况下,做成自动化的方式有多种,下面简述我比较常用的3种. 二.解决方案一: (1)配置发部:使用IDEA自带的A ...

  6. 我们是如何做DevOps的?

    一.DevOps的理解 DevOps的概念理解 DevOps 的概念在软件开发行业中逐渐流行起来.越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能.有了 DevOps ,团队可以定期 ...

  7. 我们是如何实现DevOps的

    一.DevOps的理解 DevOps的概念理解 DevOps 的概念在软件开发行业中逐渐流行起来.越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能.有了 DevOps ,团队可以定期 ...

  8. 《基于Kubernetes舵手集群的设计与实现》

    前言 <基于Kubernetes舵手集群的设计与实现>是我的毕业设计项目.本系统采用Kubernetes容器编排.基于Jenkins\Gitlab的CICD技术.EFK日志收集.Prome ...

  9. 第四十四章 微服务CICD(6)- gitlab + jenkins + docker + k8s

    总体流程: 在开发机开发代码后提交到gitlab 之后通过webhook插件触发jenkins进行构建,jenkins将代码打成docker镜像,push到docker-registry 之后将在k8 ...

随机推荐

  1. web应用程序+HTTP协议

    标签(空格分隔): Django web应用程序案例: 如果我们想通过自己电脑访问京东,就是一个网络编程(因为京东的服务部署在京东,通过自己的电脑浏览器传输到京东服务就是网络编程):只要涉及到网络编程 ...

  2. UTF-8和GBK有什么区别

    UTF-8和GBK有什么区别 2017年06月03日 18:10:43 阅读数:6516 GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准).GBK编码专门用来解决 ...

  3. 网络通信实验(1)STM32F4 以太网简介

    STM32F4 以太网简介 STM32F407 芯片自带以太网模块,该模块包括带专用 DMA 控制器的 MAC 802.3(介质访问控制)控制器,支持介质独立接口 (MII) 和简化介质独立接口 (R ...

  4. RFID概述

    自动识别技术的本质在于利用被识别物理对象的一些具有辨识度的特征来对物理对象进行区分和识别.因此,这些具有辨识度的特征可以是物理对象自带的特征,如指纹,人脸,语言,视网膜,心跳等,也可以是通过第三方赋予 ...

  5. Apache Traffic Server

    1. ats 安装 参考:https://docs.trafficserver.apache.org/en/latest/getting-started/index.en.html#installat ...

  6. css文本垂直居中的实现

    本案例已经有新的比较简便的解决方案,可以直接采用 vertical-align:middle 样式对行内元素进行垂直居中布局,详见: 微信小程序开发——如何让商品标题类文本根据内容长度垂直居中. 以下 ...

  7. mysql学习3:mysql之my.cnf详解

    mysql之my.cnf详解 本文转自:https://www.cnblogs.com/panwenbin-logs/p/8360703.html 以下是 my.cnf 配置文件参数解释: #*** ...

  8. 【转载】python中not,and,or的优先级问题及用法

    作业: >>> print(5<4 or 3)3>>> print(2>1 or 6)True>>> print(5>1 and ...

  9. 21-matlab 迷宫题

    dfs: 注意matlab里面的全局变量的使用 test.m: clc; clear; global A ii dx dy vis minpath path A=... [1 1 1 1 1 1 1 ...

  10. spring Mongodb查询索引报错 java.lang.NumberFormatException: empty String

    最近事情比较多,本篇文章算是把遇到的问题杂糅到一起了. 背景:笔者最近在写一个mongo查询小程序,由于建立索引时字段名用大写,而查询的时候用小写. 代码如下: db.getCollection(&q ...