亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Gitlab與Jenkins集成的一種方式

环境准备

本文主要简要记录gitlab与jenkins的持续集成过程,并通过SSH完成kubernetes应用的自动部署。
jenkins所需基本的插件包括:Gitlab Hook Plugin,Gitlab Plugin,Docker Plugin,Publish over SSH等。
假设已经安装好了gitlab以及jenkins,构建所需的Docker环境,以及Kubernetes等。

自动构建部署流程

一张图说明当前自动构建的流程:
图片描述

主要操作步骤

  1. jenkins添加访问gitlab的凭据:

凭据->系统->全局凭据 (unrestricted)->添加凭据->选择,
填入gitlab用户名密码后,确定添加会生成一个新的凭据。

  1. jenkins添加Publish over SSH,用于远程k8s部署

配置->Publish over SSH, 填入密码或rsa private key,以及要执行远程command的host,用户名等

  1. jenkins添加Docker云,用于打包docker镜像

系统管理->系统配置->新增一个云->Docker,
按照实际情况填写docker相关参数

  1. jenkins添加gitlab源

Git Repositories选择要拉取的源地址,如https://xx.com/xxx.git,
触发条件选择 Build when a change is pushed to GitLab,
然后记录下GitLab webhook URL Secret Token这两个参数,用作gitlab访问jenkins时的凭据

  1. gitlab配置webhook

工程主页->设置->集成,
分别将上个步骤获得的两个参数填入 链接(URL), 安全令牌 这两项中。
点击 增加WebHook

  1. jenkins配置构建环境及添加构建步骤

不同的语言需要不同的插件支持,可以先在插件管理中安装对应插件后再在构建环境中勾选选项;
构建步骤可以添加shell脚本,或者其他一些操作;
构建步骤最后勾选 Build/Publish Docker Image,选择刚才添加好的Docker云,设置好镜像tag及勾选Push Iamge等参数。

  1. 远程执行kubectl,更新service等

增加构建后步骤->Send build artifacts over SSH,
配置相关shell command执行更新操作,如kubectl apply -f xxx.yml

  1. 向gitlab报告pipeline状态

增加构建后步骤->Publish build status to Gitlab

至此, 当git push到指定分支时,便能在gitlab的CI/CD->流水线页面下查询当前的集成构建状态。

····································
欢迎关注课程:
仿百度云盘Go实战 从0到1实现企业级分布式“云存储”系统(服务端)

點擊查看更多內容
6人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
全棧工程師
手記
粉絲
246
獲贊與收藏
201

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消