同步操作将从 open-hand/devops-service 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
English | 简体中文
DevOps Service
is the continuous delivery service of Choerodon. Current version: 0.21.0
DevOps Service integrated several open source tools to automate the process of planning
, coding
, building
, testing
, deployment
, operation
and monitoring
.
After a little simple configuration, you'll get the smoothest development experience.
DevOps Service
contains features as follows:
Application Service Management
: Manage the application serviceApplication service version management
: Manage the versions released during the Continuous Integration
process of the services, which can be deployed directly in the Kubernetes
clusterCode management & version control
: Manage the code of the application service with version controlBranch management
: Able to operate the git branches of the application serviceCode Quality Analysis
:data of code quality are collected during CI
, SonarQube
is integrated.Continuous Integration Overview
: Glance at the Continuous Integration
processDeployment Management
: Deploy the versions from CI
by GitOps
Continuous Deployment Pipeline Management
: Achieve the Continuous Deployment
by workflowResource Management
: Manage the resource(e.g., secret)Cluster Management
: Manage the cluster of Kubernetes
DevOps Service
is based on java8GitLab
is used as code repository. At the same time, Continuous Integration
based on GitLab Runner
is used to complete code compilation, unit test execution, code quality analysis, docker image generation, helm chart packaging, service version releasing and other automated processesDevOps Service
hzero-register
: Register server, in place of eureka-server
hzero-iam
:Iam servicehzero-gateway
: Gateway servicehzero-oauth
: Oauth servicehzero-asgard
: Transaction consistency servicehzero-message
: Notify servicegitlab-service
:Service to communicate with gitlabworkflow-service
:Workflow serviceagile-service
:Agile servicebootstrap.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 url
username: "123456" # harbor username
password: "123456" # password corresponding to harbor user
insecureSkipTlsVerify: false
gitlab:
url: "gitlab.example.com" # gitlab url
sshUrl: "gitlab.example.com" # gitlab url for ssh operations
projectLimit: 100 # the limit of the project number that a user can create
helm:
url: "helm.example.com" # the repository url to place helm charts
gateway:
url: "http://api.example.com" # the domain of the hzero gateway
hzero:
websocket:
# the path for websocket connection
websocket: /websocket
# consistent with the redis db above
redisDb: ${SPRING_REDIS_DATABASE:1}
# the secret for websocket
secretKey: devops_ws
choerodon:
saga:
consumer:
core-thread-num: 20
max-thread-num: 20 # consumer thread number
poll-interval: 3 # the interval for polling messages, default 1s
enabled: true # whether to enable consumer client
schedule:
consumer:
enabled: true # enable schedule consume
thread-num: 1 # thread number for consuming
poll-interval-ms: 1000 # the interval for polling messages, default 1000ms
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" # expect choerodon-agent version for this devops-service version
serviceUrl: "agent.example.com" # url for choerodon-agent to connect devops-service
certManagerUrl: "agent.example.com" # the location to store the CertManager for installation
repoUrl: "helm.example.com" # the location to store the agent package itself for installation
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
# websocket max buffer size (byte)
websocket:
buffer:
maxTextMessageSize: 4194304
maxBinaryMessageSize: 4194304
create database devops_service
, create user choerodon
and grant permission:
CREATE USER 'choerodon'@'%' IDENTIFIED BY "choerodon";
CREATE DATABASE devops_service DEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON devops_service.* TO choerodon@'%';
FLUSH PRIVILEGES;
pull source code of DevOps Service
:
git clone https://github.com/choerodon/devops-service.git
Execute command in the project root directory: sh init-database.sh
Run with the following commands or run DevopsServiceApplication
directly in the integrated environment:
mvn clean spring-boot:run
If you find any shortcomings or bugs, please describe them in the issue.
Pull requests are welcomed! Follow to know for more information on how to contribute.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。