摘要:环境目的使用安装和配置,搭建持续集成环境。注册和初始化是进入容器的执行命令,用于注册和初始化。
安装gitlab-runner环境:ubuntu 16.04 LTS
目的:使用Docker安装和配置GitLab Runner,搭建GitLab CI持续集成环境。
$ 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
参数说明:
-d: 设置容器后台运行
--name:容器名称
-restart always:每次启动容器就重启 gitlab-runner
-v: 共享目录挂载
安装好后,执行$ docker ps 查看容器是否运行。
注册和初始化$ docker exec -it gitlab-runner gitlab-ci-multi-runner register
gitlab-runner register是进入gitlab-runner容器的执行命令,用于注册和初始化gitlab-runner。
以下是我的配置:注意:docker image为满足你项目构建所需环境的镜像。
我们也可以编辑vim /srv/gitlab-runner/config/config.toml,手动修改配置:
concurrent = 1 check_interval = 0 [[runners]] name = "test" url = "https://xxxx.oooo.com" token = "3894a417b64744e942008bcc51123a" executor = "docker" builds_dir = "/gitlab/runner-builds" cache_dir = "/gitlab/runner-cache" [runners.docker] tls_verify = false image = "node:latest" privileged = false disable_cache = false volumes = ["/data/gitlab-runner:/gitlab"] shm_size = 0 pull_policy = "if-not-present" [runners.cache]
创建.gitlab-ci.yml文件gitlab-ci token可以从gitlab上的项目的CI设置中获得。
builds_dir 为文件存放位置
volumes 挂载目录
pull_policy 设置gitlab是否从远程拉去image,如果iamge是本地的需要配置该属性的值为: if-not-present 或者 never
我的项目为nodejs项目,以下为测试配置。
stages: - install cache: key: ${CI_BUILD_REF_NAME} paths: - node_modules/ job-install: stage: install script: - whoami - echo $SHELL - rm -rf node_modules/ - pwd - source ~/.bashrc - nvm use 8 - node -v - yarn only: - preview tags: - test
配置好gitlab-ci文件之后,提交修改,并将最新的修改推送到origin/preview分支,即可触发CI:
Running with gitlab-runner 10.2.0 (0a75cdd1) on test (3894a417) Using Docker executor with image followme/node:v1 ... Using docker image sha256:07e33b24b6a9bebc0e0d8ba24f15b4b3c0f6fcf321a3809371a6211ac1afc38e for predefined container... Using locally found image version due to if-not-present pull policy Using docker image followme/node:v1 ID=sha256:c99c549e8227e2323d1cebb6f988d5d8f6de7f77e1967fe0f02878b85cb72b0f for build container... Running on runner-3894a417-project-643-concurrent-0 via 304e3efed168... Cloning repository... Cloning into "/gitlab/runner-builds/3894a417/0/Frontend/api-member"... Checking out 311e85cb as preview... Skipping Git submodules setup Checking cache for preview... Successfully extracted cache $ whoami root $ echo $SHELL /bin/bash $ rm -rf node_modules/ $ pwd /gitlab/runner-builds/3894a417/0/Frontend/api-member $ source ~/.bashrc $ nvm use 8 Now using node v8.3.0 (npm v5.3.0) $ node -v v8.3.0 $ yarn yarn install v1.3.2 [1/4] Resolving packages... [2/4] Fetching packages... [3/4] Linking dependencies... [4/4] Building fresh packages... Done in 7.21s. Creating cache preview... node_modules/: found 5627 matching files Created cache Job succeeded
注意:之前我是在Ubuntu14.04版本的系统上做这些配置,但是当执行CI的时候总会遇到以下报错:
ERROR: Preparation failed: Error reading remote info: json: cannot unmarshal number into Go struct field Info.Debug of type bool将系统升级为16.04后解决该问题
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27150.html
摘要:本文的目的最主要是备忘其次是分享疗效并不能让你一下子掌握这只是一个比较完整的解决方案其他基础知识自行补充基调首先这不是屠龙刀不要奢望一篇文章可以走遍天下这里只是提供一个具体的落地方案一个具体的技术选型阶段代码仓库关于代码仓库本文选取的方案是 本文的目的:最主要是备忘, 其次是分享 疗效: 并不能让你一下子掌握CI/CD, 这只是一个比较完整的解决方案,其他基础知识,自行补充. 基调...
摘要:现阶段,容器技术已经相当成熟,就算是中小型公司也可以基于镜像服务轻松搭建自己的集群服务。线上环境可以设置为,测试环境设置为安装创建一个项目登录创建一个项目。接下来我们就可以访问集群任意一台机器的端口。 现阶段,Docker容器技术已经相当成熟,就算是中小型公司也可以基于 Gitlab、Aliyun镜像服务、Docker Swarm 轻松搭建自己的 Docker集群服务。 安装 Dock...
摘要:因为可以安装到不同的机器上,所以在构建任务运行期间并不会影响到的性能。注册打开中的项目页面,在项目设置中找到在运行的机器上,用命令行注册,比如按照提示一步一步安装就可以了。任务将按此顺序执行。当然,这是不符合语义的。 在介绍.gitlab-ci.yml之前,我们先看几个概念: GitLab Runner 一般来说,构建任务都会占用很多的系统资源 (譬如编译代码),而 GitLab CI...
一、什么是CI/CDCI 持续集成CD 持续交付CI/CD就是在开发阶段,通过自动化发布,来频繁部署应用的一种方式二、为什么要配置CI/CD想象一下,一个项目的发布如果手动部署,需要的操作有:单元测试打包文件上传服务器等等如果每个过程都需要手动执行,每次都要保证不出错,这个已经很繁琐了。而现在大的前端项目多达10+的人开发,而且人员流动大。如果每个人都这么发布,快速迭代就容易出错。这时候就需要CI...
摘要:转载请注明出处原文排版地址卡死的情况起因项目中遇到的情况,在构建项目的时候,总会在包或者文件的时候挂起,每次都是在不同的下载文件中卡住原因分析服务器是内网搭建的,所以不存在网络不通畅的问题。每次项目构建时间都比较长,有可能是存在超时的 转载请注明出处 http://www.paraller.com 原文排版地址www.paraller.com/2016/05/22/gitlab-r...
阅读 1378·2021-10-08 10:04
阅读 2681·2021-09-22 15:23
阅读 2724·2021-09-04 16:40
阅读 1172·2019-08-29 17:29
阅读 1492·2019-08-29 17:28
阅读 2988·2019-08-29 14:02
阅读 2221·2019-08-29 13:18
阅读 838·2019-08-23 18:35