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