jenkins 集成 keycloak 認證


keycloak 是很不錯的sso 工具,當然也有Jenkins 的插件,我們可以使用jenkins 插件,方便用戶賬戶的管理

環境准別

  • docker-compose
version: "3"
services:
  jenkins:
    image: jenkins/jenkins:lts-alpine
    ports:
    - "9090:8080"
    volumes:
    - "./app:/var/jenkins_home"
  openresty:
    build: 
      context: ./
      dockerfile: ./Dockerfile
    ports:
    - "8090:80"  
    volumes:
    - "./nginx_lua/:/opt/app/"
    - "./nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf"
  auth:
    image: jboss/keycloak
    ports:
    - "8080:8080"
    environment:
    - "KEYCLOAK_USER=dalong"
    - "KEYCLOAK_PASSWORD=dalongrong"
    - "DB_VENDOR=postgres"
    - "DB_ADDR=postgres"
    - "DB_DATABASE=postgres"
    - "DB_USER=postgres"
    - "DB_PASSWORD=dalong"
    - "PROXY_ADDRESS_FORWARDING=true"
  postgres:
    image: postgres:9.6
    ports:
    - "5432:5432"
    environment:
    - "POSTGRES_PASSWORD:dalong"

啟動&&測試

  • 啟動
docker-compose up  -d
  • 配置jenkins
    為了簡單,建議自己選擇插件,別使用推薦的

  • 創建keycloak realm 以及client

    realm 配置信息

    client 配置: 注意root 因為不是通過war 拷貝 tomncat webapp 的方式,所以不用帶jenkins 路徑信息,同時使用了容器外部端口

    添加用戶: 按照提示即可,注意需要修改下用戶的密碼

  • 安裝 jenkins keycloak 插件

  • 啟動keycloak 認證
  • 配置jenkins keycloak
    注意是從系統設置處添加,注意配置的時候需要修改localhost 為 auth (docker-compose 的service 名稱),如下

  • 登陸測試
    打開 http://localhost:9090 ,跳轉的登陸界面,輸入用戶密碼(從keycloak 處創建的)

    登陸界面如下:

參考資料

https://github.com/keycloak/jenkins-keycloak-plugin
https://github.com/rongfengliang/keycloak-openresty-openidc

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM