centos7持续集成系统GitLab-CI

gitlab(私库)–>project(gitlab-ci每个项目根目录下必须有)–>gitrunner(项目触发ci所运行注册runner令牌服务器)
一、持续集成(Continuous Integration)
要了解GitLab-CI与GitLab Runner,我们得先了解持续集成是什么:

  • 软件集成是软件开发过程中的一个环节,这个环节的工作一般会包括以下流程:合并代码---->安装依赖---->编译---->测试---->发布。软件集成的工作一般会比较细碎繁琐,为了不影响开发效率,以前软件集成这个环节一般不会经常进行或者只会等到项目后期再进行。但是有些问题,如果等到后期才发现,解决问题的代价很大,有可能导致项目延期或者失败。因此,为了尽早发现软件集成错误,鼓励团队成员应该经常集成他们的工作,通常每个成员每天应该至少集成一次。这就是所说的持续集成。所以说,持续集成是一种软件开发实践。
  • 软件集成的工作细碎繁琐,以前是由人工完成的。但是现在鼓励持续集成,那岂不是要累死人,还影响开发效率。所以,应该考虑将软件集成这个工作自动化,这就出现了所谓的持续集成系统。

二、GitLab-CI

  • GitLab-CI就是一套配合GitLab使用的持续集成系统(当然,还有其它的持续集成系统,同样可以配合GitLab使用,比如Jenkins)。而且GitLab8.0以后的版本是默认集成了GitLab-CI并且默认启用的。

安装 gitlab-runner (不使用 Docker 镜像安装,不好控制)

curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
yum install gitlab-runner -y
gitlab-runner -v

注册 gitlab-runner
导航 > 管理区域(扳手图标) > Runners

  1. 安装一个与 GitLab CI 兼容的 Runner (如需了解更多的安装信息,请查看 GitLab Runner)
  2. 在 Runner 设置时指定以下 URL: http://git.dev-share.top/
  3. 在安装过程中使用以下注册令牌: 96JQ25HHmmC6n9Ez9Qzf
  4. 启动 Runner!
[root@gitrunner gitlab]# gitlab-runner register
Running in system-mode.

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
^C
[root@gitrunner gitlab]# gitlab-runner register
Running in system-mode.

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://47.92.170.1:8080/
Please enter the gitlab-ci token for this runner:
rx5MTgw5d8CK5Wer_PJ5
Please enter the gitlab-ci description for this runner:
[gitrunner]:
Please enter the gitlab-ci tags for this runner (comma separated):
tag-gittest
Whether to run untagged builds [true/false]:
[false]: true
Whether to lock Runner to current project [true/false]:
[false]: true
Registering runner... succeeded                     runner=rx5MTgw5
Please enter the executor: kubernetes, docker-ssh, parallels, shell, ssh, virtualbox, docker+machine, docker-ssh+machine, docker:
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

将 .gitlab-ci.yml 文件加入到项目的根目录,Runner它会去读取这里面的配置
需求:whois项目是一个使用Node.js开发的服务器用来查询域名的,因此必须需要有node.js环境才能运行
配置 .gitlab-ci.yml

# 创建一个名为pages的任务
pages:
  # 要执行的脚本
  script:
    # 初始化Node.js项目的依赖
    - cnpm i
    # 执行脚本
    - sudo /home/gitlab-runner/kubectl-get-pods.sh
  # 告诉 Runner 这个名为pages的任务,只在master分支上执行
  only:
    - master
  # GitLab CI有三个默认阶段:1构建(build)、2测试(test)、3部署(deploy)。
  # 告诉 Runner 这个名为pages的任务,只在测试阶段执行
  stage: deploy
  # 告诉 Runner 我们应用哪个标签
  tags:
    - tag-nodejs

# 创建一个名为test的任务
test:
  # 要执行的脚本
  script:
    - cnpm i
  # 告诉 Runner 告诉它测试除master分支之外的其他分支的每次推送
  except:
    - master
  # GitLab CI有三个默认阶段:1构建(build)、2测试(test)、3部署(deploy)。
  # 告诉 Runner 这个名为test的任务,只在测试阶段执行
  stage: test
  # 告诉 Runner 我们应用哪个标签。 如果不写会报错:(此作业被卡住,因为没有任何该项目指定标签的 runner 在线)
  tags:
    - tag-nodejs

# 创建一个名为new_tag的任务
new_tag:
  # 要执行的脚本
  script:
    - cnpm i
  # 告诉 Runner 这个名为new_tag的任务,只在新建tag的时候执行
  only:
    - tag
  # GitLab CI有三个默认阶段:1构建(build)、2测试(test)、3部署(deploy)。
  # 告诉 Runner 这个名为test的任务,只在测试阶段执行
  stage: test
  # 告诉 Runner 我们应用哪个标签。 如果不写会报错:(此作业被卡住,因为没有任何该项目指定标签的 runner 在线)
  tags:
    - tag-nodejs

注册完成之后,GitLab-CI就会多出一条Runner记录,如下所示:

GitLab-CI Runner
GitLab-CI会为这个Runner生成一个唯一的token,以后Runner就通过这个token与GitLab-CI进行通信。

那么,问题来了。注册好了的Runner的信息存放在哪儿了呢?
原来,Runner的信息是存放在一个配置文件里面的,配置文件的格式一般是.toml。这个配置文件的存放位置有以下几种情况:

在类Unix操作系统下(0.5.0之后版本)
如果是以root用户身份运行gitlab-ci-multi-runner register,那么配置文件默认是/etc/gitlab-runner/config.toml
如果是以非root用户身份运行gitlab-ci-multi-runner register,那么配置文件默认是~/.gitlab-runner/config.toml
在其他操作系统下以及0.5.0之前版本
配置文件默认在当前工作目录下./config.toml

git命令

命令行指令

Git 全局设置
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"

创建新版本库
git clone http://47.92.170.1/root/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

已存在的文件夹
cd existing_folder
git init
git remote add origin http://47.92.170.1/root/test.git
git add .
git commit -m "Initial commit"
git push -u origin master

已存在的 Git 版本库
cd existing_repo
git remote rename origin old-origin
git remote add origin http://47.92.170.1/root/test.git
git push -u origin --all
git push -u origin --tags
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上部署GitLab CI持续集成,您可以按照以下步骤进行操作: 1. 安装GitLab的依赖项,包括curl、openssh-server、openssh-clients、postfix和policycoreutils。您可以使用以下命令进行安装: ``` yum install -y curl openssh-server openssh-clients postfix policycoreutils ``` 2. 下载GitLab的yum源并进行安装。您可以使用以下命令下载并安装yum源: ``` curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ``` 3. 安装GitLab CE: ``` yum install -y gitlab-ce ``` 4. 进行GitLab的配置。这一步可能需要一些时间,请耐心等待: ``` gitlab-ctl reconfigure ``` 5. 安装GitLab插件。进入系统管理页面,点击"管理插件",并选择安装gitlab-plugin和gitlab hook-plugin。如果找不到这些插件,只需安装gitlab和gitlab hook即可。 完成上述步骤后,您的CentOS 7系统就可以部署GitLab CI持续集成了。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Cento7部署基于Jenkins和Gitlab的持续集成与部署架构](https://blog.csdn.net/xixixilalalahaha/article/details/106546320)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [CentOS 7 部署Gitlab+Jenkins持续集成(CI)环境](https://blog.csdn.net/a790308/article/details/102258147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值