gitlab 之 cicd
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的更多相关文章
- linux中安装gitlab和cicd(断网版)
1:先介绍一下怎么查找所需要的依赖包 #yum install rpmname--downloadonly --downloaddir=/rpmpath 例如:yum install gitlab-r ...
- 基于Gitlab的CICD流程
本片文章主要初步介绍什么是CICD流程,并且把整个流程进行拆分理解整个流程的跑通过程. 1.CICD概述 什么是CICD呢? 简单的说CICD就是持续集成自动构建自动测试自动部署. 从概念上就可以看出 ...
- Centos 7 最小化Gitlab部署操作
Gitlab的介绍 gitlab是一个版本控制的集群软件,集成了git.postgresql.Ruby.nginx.redis等重要应用工具: gitlab分为ce和ee版本:CE是社区版,EE是企业 ...
- DevOps平台
DevOps定义(来自维基百科): DevOps(Development和Operations的组合词)是一种重视"软件开发人员(Dev)"和"IT运维技术人员(Ops) ...
- 通过Maven发部项目的最实用配置
一.问题 我们平时开发项目,使用Maven或者Idea部署,尽可能是要做到自动化.一般情况下,做成自动化的方式有多种,下面简述我比较常用的3种. 二.解决方案一: (1)配置发部:使用IDEA自带的A ...
- 我们是如何做DevOps的?
一.DevOps的理解 DevOps的概念理解 DevOps 的概念在软件开发行业中逐渐流行起来.越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能.有了 DevOps ,团队可以定期 ...
- 我们是如何实现DevOps的
一.DevOps的理解 DevOps的概念理解 DevOps 的概念在软件开发行业中逐渐流行起来.越来越多的团队希望实现产品的敏捷开发,DevOps 使一切成为可能.有了 DevOps ,团队可以定期 ...
- 《基于Kubernetes舵手集群的设计与实现》
前言 <基于Kubernetes舵手集群的设计与实现>是我的毕业设计项目.本系统采用Kubernetes容器编排.基于Jenkins\Gitlab的CICD技术.EFK日志收集.Prome ...
- 第四十四章 微服务CICD(6)- gitlab + jenkins + docker + k8s
总体流程: 在开发机开发代码后提交到gitlab 之后通过webhook插件触发jenkins进行构建,jenkins将代码打成docker镜像,push到docker-registry 之后将在k8 ...
随机推荐
- File重要获取功能
返回值全是数组 String[] list() 返回当前路径下所有的文件和文件夹名称 注:只有指向文件夹的File对象才可以调此方法,如果只是文件则报错 File f = new File(" ...
- Go语言编程读书笔记:Go channel(2)
单向channel 概念 单向channel是只能用于发送或者接收数据,channel本身必然是同时支持读写,否则根本没法用.假如一个channel只能读,那么肯定只会是空的,因为你没有机会向里面写数 ...
- webpack工程搭建
>>建立nodejs工程 新建文件夹,npm init 生成package.json >>安装webpack 和 webpack-dev-server npm install ...
- SpringMVC的执行流程
解析SpringMVC执行流程 SpringMVC的执行图大概如下所示 1.首先它是由客户端发起请求,到DispatcherServlet,被拦截后到HandlerMapping这里充当一个路由器,通 ...
- 10.17 elemen.js
今天终于把element.js的官方文档看完了,主要是基础组件的用法,看的时候有种之前学bootstrap的感觉,似曾相识. 虽然它是基于VUE的,但是展示给我们的代码已经精简到不用会VUE也能看懂了 ...
- WebService关于Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart)问题解决
错误原因:需要mail.jar和activation.jar. Solution:Web Services Required Jars Download Instructions http://www ...
- 大数据学习(二)-------- MapReduce
前提已经安装好hadoop的hdfs集群,可以查看 https://www.cnblogs.com/tree1123/p/10683570.html Mapreduce是hadoop的运算框架,可以对 ...
- vmware 挂起后不能恢复
报错:未能锁定主内存文件,还原虚拟机状态时出错 虚拟机目录下有一个文件夹,xxx.vmem.lck,里面的lck文件是很久以前的,把它删掉重新恢复就可以了.
- Docker: 创建带数据的MySql container
如果需要想要在一个装有docker的机器上启动一个MySql的container,并且整个MySql container有我想要的数据: 1. 先在已有的MySql instance上准备好数据 2. ...
- docker镜像运行错误排查
docker做服务时,如果客户端无法连接,错误排查: 1.先使用 docker ps 查看镜像是否都在运行中,如果没有就进入镜像查看日志 2.如果确定代码及配置文件没有问题,就需要检查镜像的替换是否正 ...