k8s Gitlab CI/CD 之自动编译Docker镜像并推送到指定的Registry
环境介绍:
| 说明 | 节点 | ip | 系统 |
| Gitlab Server | git.ds.com | 10.0.1.179 | CentOS 7.5.1804 |
| Gitlab Runner | 10.0.1.178 | CentOS 7.5.1804 | |
| Docker Registry Harbor | harbor.ds.com | 10.0.1.183 | CentOS 7.5.1804 |
关于 gitlab server和Harbor的安装这里就表述了。
一、gitlab runner的安装 (gitlab 10版本的)
1、根据具体的系统环境下载对应的二进制执行文件
|
1
2
3
4
5
6
7
8
|
# Linux x86-64sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64# Linux x86sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-386# Linux armsudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-arm |
通过下面的地址你可以找到左右版本的二进制文件
https://docs.gitlab.com/runner/install/bleeding-edge.html#download-any-other-tagged-release
2、给刚下载的二进制执行文件添加执行权限
|
1
|
sudo chmod +x /usr/local/bin/gitlab-runner |
3、安装docker
|
1
|
curl -sSL https://get.docker.com/ | sh |
4、创建一个gitlab ci用户
|
1
|
useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash |
5、将gitlab ci用户添加到docker运行用户的组里面
|
1
|
usermod -aG root gitlab-runner |
由于我的docker是用root用户运行的所以我这边将gitlab-runner用户加到root的组里面了。

6、开始运行GitLab-Runner
|
1
2
|
gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runnergitlab-runner start |
二、注册Runners
1、打开gitlab页面找到runners的注册令牌

2、去gitlab runner的节点上做注册动作
|
1
|
gitlab-runner register |
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
[root@DS-VM-Node_10_0_1_178 ~]$ gitlab-runner registerRunning in system-mode.Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):http://git.ds.comPlease enter the gitlab-ci token for this runner:Fx1jQzBW5ZJoxz157KEUPlease enter the gitlab-ci description for this runner:[DS-VM-Node_10_0_1_178.dwhd.org]:Please enter the gitlab-ci tags for this runner (comma separated):myrunner_10_0_1_178_2Whether to run untagged builds [true/false]:[false]: trueWhether to lock the Runner to current project [true/false]:[true]: trueRegistering runner... succeeded runner=Fx1jQzBWPlease enter the executor: docker-ssh+machine, kubernetes, docker-ssh, shell, virtualbox, docker+machine, docker, parallels, ssh:shellRunner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded![root@DS-VM-Node_10_0_1_178 ~]$ |

3、重启一下runner使之生效
|
1
|
gitlab-runner restart |
4、去gitlab上检查
能发现到一个刚注册的runner

5、将这个runner指定到指定项目上去

三、测试
新建了一个gitlab项目。
k8s Gitlab CI/CD 之自动编译Docker镜像并推送到指定的Registry的更多相关文章
- 利用 Maven 创建 Docker 镜像并且推送到私有注册中心
利用 Maven 命令生成项目框架 mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -Darchetype ...
- 03.pipeline实现项目自动编译docker镜像自动打包
https://jenkins.io/zh/doc/book/pipeline/ 官方教程,可以中文.Jenkinsfile就是把pipeline内容保存到文件,然后提交到svn等版本控制库中.安装b ...
- 使用Jenkins自带功能(不用shell)构建Docker镜像并推送到远程仓库
意义: 一开始实现这个目的是在Jenkins中使用的shell脚本,也就是如下的这个: bash # 进入到生成jar包的根目录 cd ${WORKSPACE}/${module_filename} ...
- 【OF框架】在Visual Studio中发布Docker镜像,推送镜像到Azure容器注册表
准备 拥有Azure账号,已经创建 Azure容器注册表,获得注册表地址.账号.密码 本地已经在Visual Studio登录Azure账号. 本地已经拥有Docker环境 注意:首次发布Docker ...
- Docker 镜像的推送(六)
目录 一.为镜像命名 二.推送到官方 Docker Hub 1.首先得在 Docker Hub 上注册一个账号. 2.在 Docker Host 上登录 3.修改镜像命名 4.镜像上传 5.登录查看上 ...
- 使用maven插件dockerfile-maven-plugin生成Docker镜像并推送到镜像仓库
1.引入maven插件 <build> <plugins> <plugin> <groupId>com.spotify</groupId> ...
- 实践分享!GitLab CI/CD 快速入门
用过 GitLab 的同学肯定也对 GitLab CI/CD 不陌生,GitLab CI/CD 是一个内置在 GitLab 中的工具,它可以帮助我们在每次代码推送时运行一系列脚本来构建.测试和验证代码 ...
- GitLab CI/CD的官译【原】
CI / CD方法简介 软件开发的持续集成基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性.从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预. 它涉及在每次小迭代中不断 ...
- .Net Core自动化部署系列(三):使用GitLab CI/CD 自动部署Api到Docker
之前写过使用Jenkins实现自动化部署,最近正好没事研究了下GitLab的自动化部署,顺便记录一下. 使用GitLab部署我们需要准备两件事,第一个起码你得有个GitLab,自己搭建或者使用官方的都 ...
随机推荐
- JavaScript特效之图片特效放大,缩小,旋转
效果图如下: 效果代码如下: <!doctype html> <html lang="en"> <head> <meta charset= ...
- eas更改用户组织范围和业务组织范围
表: T_PM_OrgRangeIncludeSubOrg 10 20 30 分别代表 业务组织 行政组织 以及管辖组织.查行政组织,
- 【剑指Offer】 24、二叉树中和为某一值的路径
题目描述: 输入一颗二叉树的根结点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径.路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径.(注意: 在返回值的list中, ...
- 数据结构总结(UPDATING......)
目标: 1.栈........√ 2.队列......√ 3.堆.........× 4.并查集...× 栈: #define MAXN 65536 struct stack{ int sz[MAXN ...
- Golang - 复合类型
目录 Golang - 复合类型 1. 指针 2. new()和make() 3. 数组 4. slice 5. Map 6. 结构体 7. 结构体参数 Golang - 复合类型 1. 指针 go语 ...
- QT5.5移植全攻略【转】
一.编译1.到www.qt.io下载源码,qt-everywhere-opensource-src-5.5.0 2.设置编译器或者说平台.编译器是通过xplatform参数指定的,xplatform后 ...
- 【codeforces 350C】Bombs
[链接] 我是链接,点我呀:) [题意] [题解] 会发现在x轴以及y轴上的炸弹,能用较少的操作数除掉. 而其他的点,会发现操作数都是一样的. 那么先把x,y轴上的点都除掉. 其他点. 我们优先沿着横 ...
- 【Codeforces 229B】Planets
[链接] 我是链接,点我呀:) [题意] [题解] 设dis[i]表示到达i号传送器的最早时刻. 显然,虽然有那么多的出发时刻的限制,但我们还是越早到越好的. 因为你到得越早,出发的时间肯定不会比到达 ...
- [bzoj1002][FJOI2007]轮状病毒_递推_高精度
轮状病毒 bzoj-1002 FJOI-2007 Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2 ...
- mysql备份恢复中的常见错误
从A主机备份到B主机 mysqldump -uroot -p vw>vw.sql 现备份数据库文件,需要恢复到目标机B,B的数据库版本为5.5.23,A机器的mysql版本为5.0.2 ...