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

相關文章
相關標籤/搜索