Day 19 : 建立新的Jenkins任务并与Github连结

Jenkins任务

今天来建立一个新的Jenkins任务,Jenkins的标准任务流程如下,我们在本地端写好code後推上或是merge上Github/GitLab,使得远端多了新的commit。Jenkins发现了这个新的commit所以透过webhook自远端抓取更新後开始Jenkins的build流程。

https://ithelp.ithome.com.tw/upload/images/20210921/20119044r7b93jA67R.png

建立新Jenkins新任务

1选择新任务,2输入任务名称,此时有许多种建立任务的方式,这次我们选择用free-style比较多能调的东西。进入後上面的General暂时先不用填他,比较重要的是下面几个选项:

https://ithelp.ithome.com.tw/upload/images/20210921/20119044npR7W48YEg.png

  • 原始码管理: 这次任务的code从哪来? 通常我们会从GitHub、GitLab来
  • 建置触发程序: 什麽时候要开始重新build? 可以设定如CRON的定期build (定期建置)、定期检查github专案有没有新commit (轮询 SCM),还有当Github有新commit时通知Jenkins(GitHub hook trigger for GITScm polling)
  • 建置环境: build时的相关设定
  • 建置: 如何build? 可以选择呼叫跑shell指令...等
  • 建置後动作: build完要做些什麽? 是马上进入测试? 寄一封信给你告诉你build完成?

我们现在来选择如本文第一张图,当Github有新的commit後自动通知Jenkins去build。

Github连结Jenkins

进入你的Github。 1.Personal Setting > 2.Developer setting > 3.Personal access tokens > 4.Generate new token > 5.输入token名称 > 6.勾选repo > 7.获得token。

https://ithelp.ithome.com.tw/upload/images/20210921/20119044ihnaniHWAq.png

开启Jenkins任务,原始码管理选择Git,输入你的Repository URL,但是URL是https://<token>@github.com/.....git,将你的URL前面用上面的token@加在前头。接着是下面的branch to build,选择commit後会build的branch。想要所以branch就写*/*

https://ithelp.ithome.com.tw/upload/images/20210921/20119044uODIyphzX1.png

更新,其实只需要原始的git URL不需要将token加在前面也可以trigger。

接着在下面勾选GitHub hook trigger for GITScm polling,建置我们先选择shell跑跑看,如下图上shell先印出README。完成後按下apply。

https://ithelp.ithome.com.tw/upload/images/20210921/2011904404o6wrhcOc.png

然後我们要让Github能够知道Jenkins主机的位置,进入你要连结的repository > setting > webhooks > Add webhook。
输入Jenkins主机位置/github-webhook/,例如http://140.115.X.X:8080/github-webhook/ 接着add webhook。

https://ithelp.ithome.com.tw/upload/images/20210921/20119044Ig7kS2by4S.png

点进入该webhook,假如有打勾勾代表成功连结,没有的话可以修改後按下Redeliver。

https://ithelp.ithome.com.tw/upload/images/20210921/20119044aRZkZ43Beo.png

以上步骤全部完成後,就能成功用github自动build Jenkins了。我们以下来试试看。随便修改一下README并推上develop commit Test for Jenkins

https://ithelp.ithome.com.tw/upload/images/20210921/20119044r1xg6Mr4lq.png

进入Jenkins可以看到出现一个新的建置历程,点进去後可以看到我们的Build output与是否真的有抓到Github的资料。

https://ithelp.ithome.com.tw/upload/images/20210921/20119044Wr9cImCxyC.png


<<:  开 api 日常心得笔记

>>:  【在厨房想30天的演算法】Day 06 资料结构:连结串列 Linked List

Day 25 用 WebMock + VCR 来实作测试

该文章同步发布於:我的部落格 WebMock 以及 VCR 是拿来实作关於网站请求的工具,在这篇文...

[Day 02] 什麽是tinyML?

「tinyML」就字面上意思就是微小的机器学习(Tiny Machine Learning, tin...

Day17 火辣南方女王-墨西哥辣肉酱卷

看到书友分享到墨西哥出差时的墨西哥午餐,又恰好在买场购物的时候发现斑豆罐头,也许是个Sign,决定买...

Day 30 - 用 canvas 与 lottie 发挥 /// 完赛!

前述 终於来到最後一天! 今天就不写程序了, 带大家认识 lottie , 这也是在工作需求才意外学...

变更管理(Change Management)

基线的变更(任何正式批准的变更)均应进行管理。如果选定的安全控制未得到批准,未批准或未设定基线,则无...