一起养成写作习惯!这是我参与「掘金日新计划 4 月更文挑战」的第19天,点击查看活动详情。
欢迎关注我的公众号 [极智视界],获取我的更多笔记分享
大家好,我是深度视界。本文介绍了 GitLab 多平台联动自动化编译实现。
GitLab 是非常优秀的代码shell脚本编程100例版本管理工具、代码自动化检查工具以及工程自动化部署工具,这里主要介绍 GitLab 多平台联动自动化编译实现,主要包括 linux、windows、docker 平台。关于 GitLab 的安装及 linux 宿主机 CI 自动化编译配置可以参考我的这篇:《【经验分享】GitLab CI 构建 linux 自动化gitlab登录编译》,所以这里就不介容器是什么绍 linux 上的实现了,主要介绍 windows 和 docker 的实现。
1、win容器英文dows 自动化编译
主要是配置 gitlab-runner,首先下载 gitlab-runner.exe,下载地址:容器docs.gitlab.com/runner/inst…
然后以管理员权限打开 PowerShell,cd 到 gitlab-runer.exe 所在文件容器的容积一定比它的体积小夹,执行:
.gitlab-runner.exe register # 配置url和token, 最后选择shell
# 然后
.gitlab-runner.exe install
.gitlab-runner.exe start
比如在 register 的时候创建的 tag 叫做 windows,则在 .gitlab-ci.yml 中可以这么写:
windows_build:
tags:
- windows
stage: build
script:
- ./build.bat
2、docker 自动化编译
dgitlab使用教程ocker 的 gitlab-runner 配置要稍微复杂一些。下面开始。
mkdir gitlab-runner-docker
vim docker-compose.yml
加入以下内容:
version: "3"
services:
app:
image: gitlab/gitlab-runner
container_name: gitlab-runner-docker
restart: always
volumes:
- ./config:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock
然后执行:
docker-compose up --build -d
如果你想撤windows7旗舰版回/容器设计删除刚才拉取的镜像/容器,则可以使用 docker-compose down。
然后配置 gitlashell脚本编程100例b-runner
docker exec -it gitlab-runner gitlab-runner register # 配置url和token, 最后选择docker
在上面最后选择 docker 后需要再输入一个镜像名称,这个镜像就windows更新有必要吗是后linux系统安装面自动化编译会拉取的镜像环境。到这里linux常用命令 docker gitlagitlab搭建b-runner 的配置已经完成,但还没结束,继续。
你需要把上面你的linux创建文件镜像 push 到 do容器cker hub,可能涉及的指令:
## 若是从容器开始操作
docker commit dockerName dockerHubPro/imageName:tag
docker push dockerHubPro/imageName:tag
## 若是从本地镜像开始操作
docker tag localImageName:tag0 dockerHubPro/imageName:tag1
docker push dockerHubPro/imageName:tag1
然后后面难免会遇到需要更新/升级 docker 依赖环境,就需要重新 commit 和 push,这样 CI 触发 gitlab-runner 的时候就会从 docker hub 拉取环境更新后的镜像了。
假设上面配置的 register tag 为 docker_linux,那么这个时候 .gitlab-ci.yml 中可以这么写:
docker_build:
tags:
- docker_linux
stage: build
script:
- chmod 777 build.sh
- ./build.sh
这样就搞定了。
好了,以上分享了 GitLab 多平windows怎么激活台联动自动化编译实现方法,希望我的分享能对你的学习有一点帮助。
【公众号传送】
《【经验分享】GitLab 多平台联动自动化编译实现linux》