关于git/gitlab及Gitlab-Runner的学习和部署
关于git/gitlab及Gitlab-Runner的学习和部署总结如:
· Git 是分布式版本控制系统,代码管理工具:备份文件,记录历史,回到过去,多端共享;add--commit提交本地,push到远程服务器;改乱了工作区某个文件的内容或commit了不合适的修改时,checkout可直接丢弃工作区的修改或是用版本库里的版本替换工作区的版本;工作区和本地提交的的都没有了,pull还可以直接将远程主机的最新内容拉下来;好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的;当有网络的时候,再把本地提交推送一下就完成了同步。
· Gitlab是第三方基于git实现的在线代码仓库系统,并在此基础上搭建起来的web服务:
1. 通过 Web 界面快速创建项目,登录后页头+号直接。
2. 能够浏览源代码,管理缺陷和注释;
3. 管理团队对仓库的访问,并对提交代码的审核和对问题的跟踪;
4. 易于浏览提交过的版本;
· Gitlab-Runner 是 gitlab 提供的持续集成工具。每一次push到gitlab的时候,都会触发一次在仓库根目录创建的名为.gitlab-ci.yml 的脚本执行;通过gitlab-runner运行pipeline;脚本的内容包括:测试,编译,部署等一系列自定义的内容。
以下内容是git+Gitlab+Gitlab-Runner的部署
安装git和gitlab过程如下:
首先在本地安装Ubuntu系统(在 VMware Workstation Pro虚拟机)
一、Git的安装
1. 检查是否安装git
$ git
2. 安装并配置必要的依赖项
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext
$ apt-get install libz-dev libssl-dev
3. 安装git
$ apt install git
4. 查看版本号,即安装成功
$ git --version
5. 配置个人的用户名称和电子邮件地址
$ git config --global user.name "xxx"
$ git config --global user.email xxx@qq.com
6. 更新所有文件
$ apt-get update
二、安装 gitlab (建议使用官方推荐的集成安装包的方式安装,通过源码安装会有很多坑踩不完。)
1. 安装并配置必要的依赖项
$ apt-get install -y curl openssh-server ca-certificates
2. 软件的安装 ,下载包:
(https://packages.gitlab.com/app/gitlab/gitlab-ee/search 将包放入WinSCP里的 Downloads目录 )
$ cd Downloads
$ dpkg –i gitlab-ee_11.11.3-ee.0_amd64.deb
3. 安装GitLab包。 将https://gitlab.example.com更改为自己服务哭地址; 安装将自动配置并启动该URL的GitLab。
$ EXTERNAL_URL="https://192.168.16.232" apt-get install gitlab-ee
4. 关闭防火墙
$ ufw disable
5. 启用gitlab组件运行
$ gitlab-ctl reconfigure
三、配置Gitlab-Runner环境(在root权限下)
(一)准备工作
下载安装包(https://docs.gitlab.com/runner/install/linux-manually.html)
# Linux x86-64
wget -O /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 CI 用户
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
(二)在Linux下注册Runner
1.首先需要准备URL和Token(可以在 GitLab 创建项目的settings->CI/CD->Runner settings 中找到/下文有附图)
root@ubuntu:/# gitlab-runner register
Runtime platform arch=amd64 os=linux pid=95878 revision=ac2a293c version=11.11.2
Running in system-mode.
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
Please enter the gitlab-ci token for this runner:
sUjBeJpnfKxR4TE-aSSK
Please enter the gitlab-ci description for this runner:
[ubuntu]: my-demo
Please enter the gitlab-ci tags for this runner (comma separated):
my-demo
Registering runner... succeeded runner=sUjBeJpn
Please enter the executor: ssh, virtualbox, kubernetes, docker, docker-ssh, docker+machine, docker-ssh+machine, parallels, shell:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
Gitlab-Runner安装并注册完成!
(三)在项目中运行 Gitlab-Runner
1. 新建群组--在群组里新建项目
2.邀请成员
3. 注册Runner(在Linux下注册Runner首先需要准备的URL和Token所在位置/如图)
4.在项目根目录中添加 .gitlab-ci.yml 文件了 (add--commit--push);当我们添加了 .gitlab-ci.yml 文件后,每次提交代码或者合并 Merge request都会自动运行构建任务了。