搭建GitLab CI&CD(基于GitLab Runner)

偏执的太偏执、 2022-09-13 04:16 291阅读 0赞

搭建GitLab CI&CD(基于GitLab Runner)

完成了搭建GitLab Runner(基于Docker)之后,可以基于GitLab Runner搭建CI/CD流水线。

前言

如果是安装我的文章中的步骤搭建的GitLab,那么一定要在/srv/gitlab-runner/config目录下的config.toml文件中加上extra_hosts = ["gitlab.com:192.168.1.72"]设置GitLab Runner启动的Docker容器的hosts。因为我搭建GitLab的时候使用的是自定义域名,在没有设置hosts的情况下Docker容器无法拉取代码。

  1. concurrent = 1
  2. check_interval = 0
  3. [session_server]
  4. session_timeout = 1800
  5. [[runners]]
  6. name = "cicd"
  7. url = "http://gitlab.com/"
  8. token = "XeDWPgda3Ku2z9FdVFnT"
  9. executor = "docker"
  10. [runners.custom_build_dir]
  11. [runners.cache]
  12. [runners.cache.s3]
  13. [runners.cache.gcs]
  14. [runners.cache.azure]
  15. [runners.docker]
  16. tls_verify = false
  17. image = "node:alpine"
  18. privileged = false
  19. disable_entrypoint_overwrite = false
  20. oom_kill_disable = false
  21. disable_cache = false
  22. volumes = ["/cache"]
  23. shm_size = 0
  24. extra_hosts = ["gitlab.com:192.168.1.72"]

否则在处罚CI/CD之后会遇到这样的问题:
在这里插入图片描述

.gitlab-ci.yml

.gitlab-ci.ymlGitLab CI/CD的配置文件,相关命令可以参考官方文档。

编辑 .gitlab-ci.yml

在这里插入图片描述

.gitlab-ci.yml内容

  1. # 定义阶段节点列表和阶段节点执行的顺序
  2. stages:
  3. # 构建阶段
  4. - build
  5. # 测试阶段
  6. - test
  7. # 部署阶段
  8. - deploy
  9. # 定义工作
  10. build-job:
  11. # 指定属于构建阶段
  12. stage: build
  13. # 指定使用cicd这个Runner
  14. tags:
  15. - cicd
  16. # 执行脚本
  17. script:
  18. - echo "Compiling the code..."
  19. - echo "Compile complete."
  20. # 定义工作
  21. unit-test-job:
  22. # 指定属于测试阶段
  23. stage: test
  24. # 指定使用cicd这个Runner
  25. tags:
  26. - cicd
  27. # 执行脚本
  28. script:
  29. - echo "Running unit tests... This will take about 60 seconds."
  30. - sleep 60
  31. - echo "Code coverage is 90%"
  32. # 定义工作
  33. lint-test-job:
  34. # 指定属于测试阶段
  35. stage: test
  36. # 指定使用cicd这个Runner
  37. tags:
  38. - cicd
  39. # 执行脚本
  40. script:
  41. - echo "Linting code... This will take about 10 seconds."
  42. - sleep 10
  43. - echo "No lint issues found."
  44. # 定义工作
  45. deploy-job:
  46. # 指定属于部署阶段
  47. stage: deploy
  48. # 指定使用cicd这个Runner
  49. tags:
  50. - cicd
  51. # 执行脚本
  52. script:
  53. - echo "Deploying application..."
  54. - echo "Application successfully deployed."

提交.gitlab-ci.yml

编辑.gitlab-ci.yml完成之后,点击Commit changes提交。

在这里插入图片描述

提交触发流水线

提交.gitlab-ci.yml之后,会触发一次流水线。
在这里插入图片描述

build阶段完成

在这里插入图片描述

各阶段依次执行

在这里插入图片描述

流水线成功完成

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,291人围观)

还没有评论,来说两句吧...

相关阅读