目标:gitlab配置webhook钩子,push代码时触发webhook,向node服务器发送任务,node服务器down代码,执行打包和检测,结束后触发gitlab发邮件。node
步骤:
1.进入gitlab,找到本身的项目,查看是否有权限设置,而后设置:
(Settings -> Integrations)git
URL:http://nodeServerIp:8080/webhook
Secret Token: ABCDEFG // 触发请求的认证码,避免DOS攻击
Trigger:
勾选Push events选项
勾选Merge request events选项
点击“Add web hook”web
2.Setting --> General --> Visibility, project features, permissions --> 点击Expand --> 打开Pipelines(Build, test, and deploy your changes)--> Save Changes服务器
3.Settings -> CI /CD --> Pipeline triggers --> Expand
在展开的输入框中输入“ci ”,点击“Add trigger”, 而后将生成的Token字段复制出来。curl
4.在项目根目录添加.gitlab-ci.yml文件,文件内容以下:gitlab
stages: - ci # 定义 job build: stage: ci script: - curl http://nodeServerIp:8080/downGitlabCiShApi > gitlab-ci.sh - chmod 751 ./gitlab-ci.sh - ./gitlab-ci.sh