5

今天给大家介绍一下Gitlab中CI/CD的自动化部署安装与使用。

1. docker方式安装

安装文档:https://docs.gitlab.com/runne...

docker run -dit \
--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

1.1 设置信息

docker exec -it gitlab-runner gitlab-runner register

2. 非docker方式安装

2.1 安装GitLab Runner

安装环境:Linux

其他环境参考:https://docs.gitlab.com/runne...

下载

curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

添加权限

chmod +x /usr/local/bin/gitlab-runner

新建gitlab-runner用户

sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

安装

安装时需要指定我们上面新建的用户

gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner

启动

gitlab-runner start

3. 配置Runner

2.1 获取配置信息

进入你的gitlab ——> settings —— > CI/CD ——> Runners

这里主要是记住第4 和 第5 的值

3.2 注册

gitlab-runner register

3.2.1 输入你的gitlab的URL

上一步记录的第4 的值

3.2.2 输入token

输入上一步记录的第5 的值

3.2.3 输入描述

输入runner 的描述,自己看着写,后期可以改

3.2.4 输入tag

输入标签,这里输入 pibigstar

3.2.5 询问是否在未加标签的Build上运行

我这里选择的 true,默认为 false。

3.2.6 询问是否锁定最近项目

默认为 false,直接回车

3.2.7 运行平台

提示你注册成功,输入runner要运行的平台和方式,这里我输入docker,回车

3.2.8 输入运行的docker镜像

输入runner需要在那个镜像下运行,因为我要运行 go项目,所以我输入的是 go:1.13

3.2.9 完成注册

3.3.0 设置

这时页面上会出现这个Runner实例,如果我们设置了tag,那么需要设置一下,就算job没有tag也可以运行

4. 编写.gitlab-ci.yml 文件

在你项目根目录下创建文件:.gitlab-ci.yml,写个小demo。

stages:
- build
- test
- deploy

build_maven:
stage: build
script:  
- echo "build maven....."  
- echo "mvn clean"  
- echo "done"

test_springboot:
stage: test 
script:  
- echo "run java test....."
- echo "java -test"
- echo "done"

deploy_springboot:
stage: deploy
script:
- echo "deploy springboot...."
- echo "run mvn install" 
- echo "done"

当你项目push到gitlab中之后:

在CI/CD ——> pipelines 中即可看到效果

可以点进去看每一步执行了那些操作:

版权声明:本文为「跟派大星学编程」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/junmoxi...

民工哥
26.4k 声望56.7k 粉丝

10多年IT职场老司机的经验分享,坚持自学一路从技术小白成长为互联网企业信息技术部门的负责人。2019/2020/2021年度 思否Top Writer