前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gitlab CI/CD (上)

gitlab CI/CD (上)

作者头像
机械视角
发布2019-10-23 11:11:19
9340
发布2019-10-23 11:11:19
举报
文章被收录于专栏:TensorbytesTensorbytes

githook

本地Hook

本地 Hook 只影响它们所在的仓库。以下是最常用的 6 个本地 Hook:

  • pre-commit
  • prepare-commit-msg
  • commit-msg
  • post-commit
  • post-checkout
  • pre-rebase 前四个 Hook 介入到版本提交的生命周期,后两个允许执行一些额外的操作,分别为 git checkout 和 git rebase 的安全检查。所有与带 pre- 的 Hook 代表即将发生的某个阶段,带 post- 只用于通知。

pre-commit

pre-commit 脚本在每次你运行 git commit 命令时,Git 向你询问提交信息或者生产提交对象时被执行。你可以用这个 Hook 来价差即将被提交的代码快照。比如说,你可以运行一些自动化测试,保证这个提交不会破坏现有的功能。

prepare-commit-msg

prepare-commit-msg这个 Hook 在 pre-commit Hook 在文本编辑器中生效提交信息之后被调用。prepare-commit-msg 的参数可以是下列三个:

包含提交信息的文件名。你可以在原地更改提交信息。 提交类型。可以是信息(-m 或 -F 选项),模板(-t选项),merge(如果是个合并提交)或squash(如果这个提交插入了其他提交)。 相关提交的SHA1哈希字串。只有当-c,-C,或–amend选项出现时才需要。

post-commit

post-commit Hook 在 commit-msg Hook 之后立即被运行。它无法改变 git commit 的结果,主要用于通知。这里我们详细来讲述一下这个 Hook ,因为我们之后要用到它。

这个脚本没有任何参数,而且退出状态不会影响提交。对于大多数的 post-commit 脚本来说,你只是想访问你刚刚创建的提交。你可以用 git rev-parse HEAD来获得最近一次提交的 SHA1 哈希字符串,或者你可以用 git log -l HEAD 来获得完整的信息。

post-checkout

post-checkout Hook 和 post-commit Hook 很像,但它在你用 git checkout查看引用的时候被调用。

gitlab runner

docker 运行

docker run -d --name gitlab-runner \
  -v /srv/gitlab-runner/config:/home/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner

gitlab-runner注册

输入:

gitlab-ci-multi-runner register

这里主要是需要两个信息进行注册,一个是gitlab的url,和runner token。 可以在gitlab CI/CD 的Runners settings中Specific Runners找到,如下所示:

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://172.17.0.2   (因为我这里gitlab是放在dockder下面因此需要改成docker内网地址)
Please enter the gitlab-ci token for this runner
kpSL7ViitQLYbSs3zS1x
Please enter the gitlab-ci description for this runner
my-runner
INFO[0034] fcf5c619 Registering runner... succeeded
Please enter the executor: shell, docker, docker-ssh, ssh?
shell

gitlab-runner 运行

检查runner的状态: gitlab-ci-multi-runner verify

重启所有runner: gitlab-ci-multi-runner run

重启单个runner: gitlab-ci-multi-runner run-single --url https://172.17.0.2 --token runnerToken --executor shell

gitlab-runner运行成功界面

需要在gitlab-runner环境下按照运行所需要

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • githook
    • 本地Hook
      • pre-commit
        • prepare-commit-msg
          • post-commit
            • post-checkout
            • gitlab runner
              • gitlab-runner注册
                • gitlab-runner 运行
                相关产品与服务
                容器服务
                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档