open-hand / Devops Service
DevOps Service is the core service of Choerodon. It integrated several open source tools to automate the DevOps process of planning, coding, building, testing, and deployment, operation, monitoring.
Stars: ✭ 36
Programming Languages
java
68154 projects - #9 most used programming language
Projects that are alternatives of or similar to Devops Service
Jbone
jbone基于Spring Cloud框架开发,旨在为中小企业提供稳定的微服务解决方案,为开发人员提供基础开发骨架,jbone包含微服务中所有常用组件,例如注册中心、服务管理、服务监控、JVM监控、内存分析、调用链跟踪、API网关等等。业务功能包括系统权限的统一管理、单点登录、CMS、电商平台、工作流平台、支付平台等等。
Stars: ✭ 961 (+2569.44%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Examples
Examples of microservice instrastructures
Stars: ✭ 11 (-69.44%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Zookeeper
Spring Cloud Zookeeper
Stars: ✭ 481 (+1236.11%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Netflix
Integration with Netflix OSS components
Stars: ✭ 4,498 (+12394.44%)
Mutual labels: spring-boot, spring, spring-cloud
Chaos Monkey Spring Boot
Chaos Monkey for Spring Boot
Stars: ✭ 646 (+1694.44%)
Mutual labels: spring-boot, spring, spring-cloud
Onetwo
一个基于spring和spring boot的快速开发框架……
Stars: ✭ 16 (-55.56%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Commons
Common classes used in different Spring Cloud implementations
Stars: ✭ 493 (+1269.44%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Boot Demo
spring boot demo 是一个Spring Boot、Spring Cloud的项目示例,根据市场主流的后端技术,共集成了30+个demo,未来将持续更新。该项目包含helloworld(快速入门)、web(ssh项目快速搭建)、aop(切面编程)、data-redis(redis缓存)、quartz(集群任务实现)、shiro(权限管理)、oauth2(四种认证模式)、shign(接口参数防篡改重放)、encoder(用户密码设计)、actuator(服务监控)、cloud-config(配置中心)、cloud-gateway(服务网关)等模块
Stars: ✭ 323 (+797.22%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Contract
Support for Consumer Driven Contracts in Spring
Stars: ✭ 569 (+1480.56%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Release
Spring Cloud Release Train - dependency management across a wide range of Spring Cloud projects.
Stars: ✭ 543 (+1408.33%)
Mutual labels: spring-boot, spring, spring-cloud
Jeecg Boot
「企业级低代码平台」前后端分离架构SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的开发模式OnlineCoding->代码生成->手工MERGE,帮助Java项目解决70%重复工作,让开发更关注业务,既能快速提高效率,帮助公司节省成本,同时又不失灵活性。
Stars: ✭ 26,432 (+73322.22%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Consul
Spring Cloud Consul
Stars: ✭ 703 (+1852.78%)
Mutual labels: spring-boot, spring, spring-cloud
Cloude
基于spring cloud的分布式系统架构。提供整套的微服务组件,包括服务发现、服务治理、链路追踪、服务监控等
Stars: ✭ 389 (+980.56%)
Mutual labels: spring-boot, spring, spring-cloud
Localstack Spring Boot
Spring Boot AutoConfiguration for LocalStack
Stars: ✭ 22 (-38.89%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Bus
Spring Cloud event bus
Stars: ✭ 342 (+850%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Security
Security concerns for distributed applications implemented in Spring
Stars: ✭ 488 (+1255.56%)
Mutual labels: spring-boot, spring, spring-cloud
Micro Company
Rest-full, Hipermedia-based distributed application. Spring boot & cloud. Angular. CQRS. Eventsourcing. Axonframework. Microservices. Docker. CloudFoundry
Stars: ✭ 307 (+752.78%)
Mutual labels: spring-boot, spring, spring-cloud
Java Spring Cloud
Distributed tracing for Spring Boot, Cloud and other Spring projects
Stars: ✭ 326 (+805.56%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Cloud Aws
Integration for Amazon Web Services APIs with Spring
Stars: ✭ 541 (+1402.78%)
Mutual labels: spring-boot, spring, spring-cloud
Spring Boot Examples
about learning Spring Boot via examples. Spring Boot 教程、技术栈示例代码,快速简单上手教程。
Stars: ✭ 26,812 (+74377.78%)
Mutual labels: spring-boot, spring, spring-cloud
简体中文 | English
DevOps Service
DevOps Service
DevOps Service是Choerodon平台实现持续交付的基础. 当前版本为: 0.24.6
DevOps Service通过自主整合的DevOps工具链,集成相关的开源工具,以此形成了计划、编码、测试、部署、运维以及监控的DevOps闭环。 并且只需通过简单的配置,您便能获得最佳的开发体验。
注意:原本的前端代码已经移动到这里
特性
DevOps Service
含有以下功能:
-
应用服务管理
:对应用服务进行管理 -
应用服务版本管理
:对持续集成
(Continuous Integration)过程中产生的可以直接在Kubernetes
集群中进行部署的服务版本进行管理 -
代码管理及版本控制
:对服务的代码进行版本控制和管理 -
分支管理
:能够对服务的Git
分支进行相应的操作 -
代码质量监测
:在CI
过程中进行代码质量数据收集,集成sonarqube
对代码质量进行监测 -
持续集成概览
:查看服务的持续集成过程 -
部署管理
:对持续集成所产生的服务版本通过GitOps
进行部署 -
持续部署流水线管理
:使用工作流实现持续部署 -
资源管理
:对部署的资源(如:网络,域名,密文等)进行管理 -
集群管理
:管理Kubernetes
集群
前置要求
-
JAVA:
DevOps Service
基于Java8进行开发 -
GitLab:
DevOps Service
使用GitLab
进行代码的托管。同时,通过基于GitLab Runner
实现持续集成以完成代码编译,单元测试执行,代码质量分析,docker镜像生成,helm chart打包,服务版本发布等自动化过程 - Harbor:企业级Docker registry 服务,用于存放服务版本所对应的docker镜像
- Kubernetes:容器编排管理工具,用于部署服务版本所对应的helm chart包
- ChartMuseum:Helm Chart仓库,用于存放服务版本所对应的helm chart包
- Sonarqube:管理代码质量的开放平台,用于管理服务的代码质量
-
MySQL:主流数据库之一,用于
DevOps Service
的数据持久化 - Redis:内存数据库,用于数据缓存和部分非持久化数据存储
服务依赖
-
choerodon-register
: 注册中心,在线上环境代替本地的eureka-server
-
choerodon-iam
:用户服务,与用户有关的操作依赖与此服务 -
choerodon-gateway
: 网关服务 -
choerodon-oauth
: 授权服务 -
choerodon-asgard
: 事务一致性服务 -
choerodon-message
: 通知服务 -
gitlab-service
:gitlab服务 -
workflow-service
:工作流服务 -
agile-service
:敏捷服务,查询与分支有关的敏捷Issue需要依赖此服务
服务配置
-
bootstrap.yml
:server: port: 8060 spring: application: name: devops-service cloud: config: failFast: true retry: maxAttempts: 6 multiplier: 1.5 maxInterval: 2000 uri: localhost:8010 enabled: false mvc: static-path-pattern: /** resources: static-locations: classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources,file:/dist management: server: port: 8061 endpoints: web: exposure: include: '*'
-
application.yml
:spring: datasource: url: jdbc:mysql://localhost/devops_service?useUnicode=true&characterEncoding=utf-8&useSSL=false username: choerodon password: choerodon hikari: maximum-pool-size: 15 # 数据库连接池连接数 redis: host: localhost database: ${SPRING_REDIS_DATABASE:1} http: encoding: charset: UTF-8 force: true enabled: true services: harbor: baseUrl: "harbor.example.com" # harbor地址 username: "123456" # harbor用户名 password: "123456" # 对应harbor用户名的密码 insecureSkipTlsVerify: false gitlab: url: "gitlab.example.com" # gitlab地址 sshUrl: "gitlab.example.com" # 用于ssh操作的gitlab地址 projectLimit: 100 # gitlab用户可以创建的项目的数量限制 helm: url: "helm.example.com" # 存放helm chart包的仓库地址 gateway: url: "http://api.example.com" # 网关地址 hzero: service: platform: name: choerodon-platform oauth: name: choerodon-oauth iam: name: choerodon-iam file: name: choerodon-file message: name: choerodon-message admin: name: choerodon-admin swagger: name: choerodon-swagger gateway: name: choerodon-gateway monitor: name: choerodon-monitor websocket: # 用于连接websocket的路径 websocket: /websocket # 与当前服务的redis数据库一致 redisDb: ${SPRING_REDIS_DATABASE:1} # 后端长连通信密钥 secretKey: devops_ws choerodon: saga: consumer: core-thread-num: 20 max-thread-num: 20 # 消费线程数 poll-interval: 3 # 拉取消息的间隔(秒),默认1秒 enabled: true # 是否启用消费端 schedule: consumer: enabled: true # 启用任务调度消费端 thread-num: 1 # 任务调度消费线程数 poll-interval-ms: 1000 # 拉取间隔,默认1000毫秒 resource: jwt: ignore: /workflow/**, /sonar/**, /ci, /sonar/info, /v2/api-docs, /agent/**, /ws/**, /gitlab/email, /webhook/**, /v2/choerodon/**, /choerodon/**, /actuator/**, /prometheus, /devops/**, /pre_stop, /websocket agent: version: "0.5.0" # devops-service此版本所预期的 choerodon-agent 的版本 serviceUrl: "agent.example.com" # 用于 choerodon-agent 连接 devops-service 的地址 certManagerUrl: "agent.example.com" # 存放CertManager的地址,用于安装 repoUrl: "helm.example.com" # 存放agent的地址,用于安装 mybatis: mapperLocations: classpath*:/mapper/*.xml configuration: mapUnderscoreToCamelCase: true feign: hystrix: shareSecurityContext: true command: default: execution: isolation: thread: timeoutInMilliseconds: 30000 ribbon: ConnectTimeout: 50000 ReadTimeout: 50000 asgard-servie: ribbon: ConnectTimeout: 50000 ReadTimeout: 50000 devops: ansible: image: registry.cn-shanghai.aliyuncs.com/c7n/kubeadm-ha:0.1.0 # helm 下载地址 helm: download-url: https://file.choerodon.com.cn/kubernetes-helm/v3.2.4/helm-v3.2.4-linux-amd64.tar.gz # 流水线生成Gitlab Ci文件中默认的runner 镜像地址 ci: default: image: registry.cn-shanghai.aliyuncs.com/c7n/cibase:0.9.1 pipeline: sync: executor: # 核心线程池大小 corePoolSize: 5 # 最大线程池大小 maxPoolSize: 8 unterminated: # ci流水线对未终结的流水线进行数据补偿的时间阈值, 单位: 毫秒 (默认600秒) thresholdMilliSeconds: 600000 pending: # ci流水线对pending的流水线进行数据补偿的时间阈值, 单位: 毫秒 (默认600秒) thresholdMilliSeconds: 600000 jobEmpty: # ci流水线对非跳过状态的且没有job信息流水线进行数据补偿的时间阈值, 单位: 毫秒 (默认600秒) thresholdMilliSeconds: 600000 refresh: # redisKey的过期时间, 用于控制同一条流水线的刷新间隔, 减少对gitlab的访问次数 periodSeconds: 60 # 批量部署的请求条数限制 batch: deployment: maxSize: 20 # websocket的最大缓冲区大小,单位字节byte websocket: buffer: maxTextMessageSize: 4194304 maxBinaryMessageSize: 4194304
安装和启动步骤
-
创建数据库
devops_service
,创建用户choerodon
,并为用户分配权限:CREATE USER 'choerodon'@'%' IDENTIFIED BY "choerodon"; CREATE DATABASE devops_service DEFAULT CHARACTER SET utf8; GRANT ALL PRIVILEGES ON devops_service.* TO choerodon@'%'; FLUSH PRIVILEGES;
-
拉取
DevOps Service
代码到本地:git clone https://github.com/choerodon/devops-service.git
-
在项目根目录执行命令:
mvn clean package spring-boot:repackage -Dmaven.test.skip=true && bash init-database.sh
-
使用下列命令运行或直接在集成环境中运行
DevopsServiceApplication
mvn clean spring-boot:run
链接
反馈途径
如果您发现任何缺陷或bug,请及时 issue告知我们 。
如何参与
欢迎参与我们的项目,了解更多有关如何参与贡献的信息。
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].