Gitlab触发Jenkins自动执行

2019-09-29  本文已影响0人  养猫的老鼠

背景:

需要能够在每次提交到Gitlab仓库后,触发Jenkins自动编译与测试

前提:

  1. 已经在Jenkins上安装Git,Gitlab plugin。
  2. 已经在Gitlab上创建的项目,并配置了Jenkinsfile。

步骤:

  1. 在Jenkins服务器上生成SSH公钥和私钥,并将私钥添加至Jenkins Credentials,将公钥添加至Gitlab SSH Keys

  2. 在Gitlab上生成Access Token(具体权限根据需求做调整),并将Token添加至Jenkins Credentials


    Gitlab上生成Token
    添加Token至Jenkins
  3. 在Manage Jenkins->Configure System下配置Gitlab。

    Jenkins中配置Gitlab Token
    注意事项
  1. 在Jenkins下创建项目,配置trigger和pipeline
    Build Trigger
    Pipeline
    注意事项
  1. 在Gitlab下配置Webhooks
    Webhooks
    在具体项目的setting->integrations中将上一步在trigger中产生的Gitlab Webhook URL填写在此处的URL(如果有创建SecretToken也一并填写)
    webhook test
    注意事项
  1. 验证下能否正常触发Jenkins产生Job
    编写Helloworld.c,push到Gitlab后,Jenkins产生Job,并输出结果。验证OK


    验证

参考文档

Continuous Integration with Jenkins and GitLab
Webhooks and insecure internal web services
Web hook fails when Jenkins Anonymous user does not have job/build permission
Docker - No route to host

上一篇 下一篇

猜你喜欢

热点阅读