前端 docker + gitlab CI 的持续集成(三)
持续集成
持续集成(
Continuous Integration
,简称CI
)指的是,频繁地(一天多次)将代码集成到主干。 关于docker 的介绍,docker启动容器可以关注: docker + Gitlab CI 的持续集成(一) docker + Gitlab CI 的持续集成(二)
GitLab CI是 GitLab 提供的持续集成服务, 默认有3个[stages
(阶段)]: build
、test
、deploy
,大部分项目用 CI 跑build
测试,码农可以很快得到反馈,是否写出了 bug
所以借助GitLab CI
怎么搞起来呢?
1、首先需要起一个runner服务
runner
即build
构建脚本的承载者
docker pull gitlab/gitlab-runner
复制代码
docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
复制代码
有了前两章的经验,很快的启动了一个runner
的服务,那怎么跟我们的代码关联上呢?
注册runner
docker exec -it gitlab-runner gitlab-ci-multi-runner register
复制代码
# gitlab-runner register Please enter the gitlab-ci coordinator URL: // 构建项目提供的url# XXX
Please enter the gitlab-ci token for this runner: // 构建项目提供的token# xxxxxx
Please enter the gitlab-ci description for this runner: // runner描述# docker
Please enter the gitlab-ci tags for this runner (comma separated): // tags就是指定使用哪个runner来执行这个job
# zb
Please enter the executor: docker, parallels, shell, kubernetes, docker-ssh, ssh, virtualbox, docker+machine, docker-ssh+machine: // runner的执行程序
# docker
Please enter the default Docker image (e.g. ruby:2.1): // 执行程序选择docker 需要指定基础镜像
# docker:latest
复制代码
第一、二步的URL与token哪里来呢?
去gilab
需要构建的项目,settings
----> CI / CD
------> Runners
里会提供,如下图:
按步骤注册以后,gitlab
上就会有我们的runner
服务了
2、项目根目录创建gitlab-ci.yml
文件
cache:untracked: truepaths:- node_modules/stages:- buildnpm_production:stage: buildscript:- pwd- docker build -t test-test .tags:- zbonly:- master
复制代码
本文只是演示build
一个名字为test-test
的新images
,这时在master
上 push 代码,就会触发GitLab CI
构建,启动zb
这个runner
来执行script
下的脚本
构建成功,服务器上就有了这个images
,剩下的事情就是基于这个images
run 起来,这一步骤还可以利用 jenkins
来完成
~文中如有不妥之处,欢迎批评指正~
转载于:https://juejin.im/post/5bae026a5188255c996b96ef
前端 docker + gitlab CI 的持续集成(三)相关推荐
- docker GitLab-runner CI/CD持续集成
docker GitLab-runner CI/CD持续集成 docker GitLab-runner CI/CD持续集成 机器配置 gitlab安装 拉取镜像 创建挂载目录 启动容器 注册gitla ...
- 『中级篇』docker之CI/CD持续集成-项目生成镜像(76)
原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker之CI/CD持续集成-项目生成镜像(76) 开始想用docker registry做私有镜像库,后来放弃 ...
- 『中级篇』docker之CI/CD持续集成-(终结篇)(77)
原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『中级篇』docker之CI/CD持续集成-(终结篇)(77) 今天是中级终结篇的最后一次了,想想在二个月的时间,每天的坚持学 ...
- ci持续集成工程师前景_『中级篇』docker之CI/CD持续集成-项目生成镜像(76)
开始想用docker registry做私有镜像库,后来放弃了,知道的老铁应该知道这个玩意没有界面很不爽,后来选择了Harbor,还是通过vagrant 创建一个虚拟服务器,这样下来一共创建3个了,也 ...
- 晨光科力普基于GitLab CI/CD持续集成服务的应用
科力普省心购是晨光文具集团在2019年初为了拓展综合办公物资采购业务成立的B2B电商平台.随着云时代容器技术的火热发展,Docker.Kubernetes等容器化技术越来越受到研发团队的喜爱.因此,省 ...
- Docker + GitLab CI/CD 实现自动化部署
使用Docker+gitlab ci/cd 实现自动化部署 文章目录 使用Docker+gitlab ci/cd 实现自动化部署 1. Docker 1.1 Docker是什么? 1.2 Docker ...
- Android架构篇-5 CI/CD(持续集成、持续交付、持续部署)
Android架构篇-5 CI/CD(持续集成.持续交付.持续部署) CI CI是指持续集成,代码的更新会定期自动构建.测试并合并到公共仓库中,方便多分支时解决冲突问题 CD CD是指持续交付和/或持 ...
- iOS架构篇-5 CI/CD(持续集成、持续交付、持续部署)
iOS架构篇-5 CI/CD(持续集成.持续交付.持续部署) CI CI是指持续集成,代码的更新会定期自动构建.测试并合并到公共仓库中,方便多分支时解决冲突问题 CD CD是指持续交付和/或持续部署, ...
- centos7下Gitlab+Jenkins部署持续集成CI环境
1.基本环境 主机:win10,IP:192.168.0.111:部署机器centos7,IP:192.168.0.65: 内存推荐到8G,实测需要6G以上,以免出现内存不够用而报错. 2.安装git ...
- (六)构建Docker私有仓库、Gitlab仓库和持续集成环境
环境说明 IP 功能 eth0:192.168.124.139 eth1:172.16.100.10 Docker私有仓库.Gitlab.持续集成 eth0:192.168.124.138 eth1: ...
最新文章
- 使用dd查看磁盘前4个扇区的内容
- ner pytorch project code
- JavaEE 的基本实现
- [C++]VisualAssistX中文注释提示错误 解决办法
- 二叉搜索树C++(VS2017)
- string的内存管理问题
- Java随机数控制范围
- MPMovieplayercontroller
- Spring集成–强大的拆分器聚合器
- enter power save mode解决
- WordPress 4.8.2 升级维护版本发布
- Excel转html
- Linux shell标准输入,标准输出,错误输出
- dosbox 实现程序编译
- 英文词典 text 文本格式下载
- python+django+vue酒店入住客房管理系统
- linux指令打开网址,linux 如何使用命令打开网址
- 静态生存期和动态生存期
- 让SVG 自己动起来!SMIL animation动画详解
- 施耐德电气全球两大设计中心落户陕西西安