Jenkins从部署到 CI/CD 发布至kubernetes

一、jenkins部署

jenkins是经常使用的CI/CD工具,具备普遍的插件,使用起来简单便捷。工做环境中我使用docker方式进行部署(为何用docker部署,由于方便)
  1. docker-compose.yaml以下
version: '3'
services:
  jenkins:
    restart: always
    image: docker.io/jenkins/jenkins:latest
    container_name: jenkins
    ports:
      - '8080:8080'   #web 端口
      - '50000:50000' #50000 slave管理端口
    privileged: true
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
      - /etc/sysconfig/docker:/etc/sysconfig/docker

部署成功后直接访问便可,url以下:http://192.168.1.123:8080前端

第一次登录须要建立用户,安装一些插件,按照步骤走下去就好
登录进入界面以下:

image.png

补充一些经常使用插件(后面使用详解):Manage Jenkins -> Manage Plugins

    *     Ding Talk   #构建信息通知到钉钉机器人
    *     Git plugin  #拉取git代码
    *     Environment Injector Plugin(注意:会出现下载失败状况,去清华镜像网手动下载便可)  #变量插件,设置kubernetes yaml清单文件时,不会根据不一样环境配置不少份,会用通用模板,用变量形式去部署不一样的环境,例如不一样的namespace、启动参数等等
    *     Docker plugin  #一、构建镜像 二、上传到镜像仓库 三、删除本地镜像
    *     Kubernetes Continuous Deploy Plugin  #发布至kubernetes
    *     Publish Over SSH  # 链接远程主机

配置CI/CD流程

安装maven及NodeJS工具

进入Global Tool Configuration

1.jpg

安装maven和NodeJS,如图新增安装就好,后台会自动下载相应的版本程序
 maven用于编译后端程序
 NodeJS用于编译前端程序

链接docker Remote API

链接远程docker服务器进行镜像构建上传等操做,我直接链接安装jenkins所在的主机,进行构建镜像等操做
一、修改docker配置文件
vim /usr/lib/systemd/system/docker.service 以下图:
二、重启
systemctl daemon-reload 
systemctl restart docker

image.png

配置jenkins链接Remote API

新版本挪了位置,进入方式:Manage Jenkins -> Configure Systen -> 拖到最下面,点击Cloud -> 以下添加便可,可以使用Test Connection来检测是否链接成功,显示出版本号即成功

image.png

钉钉配置

Manage Jenkins -> Configure Systen,以下图设置对应的webhook以及安全策略,具体信息去钉钉中设置

image.png

新建Item

image.png

配置钉钉告警

image.png

链接远程git仓库,添加相应的凭证

image.png

构建触发器,一旦git端有代码提交,就会自动进行构建,因为部署在内网,不能使用git的webhook。便使用轮训功能,一分钟检测一次

image.png

配置环境变量模板

image.png

推送镜像至镜像仓库

image.png

发布程序至kubernetes,如下为认证信息与yaml文件所放置的位置

image.png

相关文章
相关标签/搜索