jjzjj

国产化数据库(达梦DM、人大金仓kingbase8)部署基于Docker的Nacos服务(不需修改nacos源码)

方安伦 2024-02-26 原文

团队接到一个项目,项目要求使用国化产数据库和国产化操作系统,之前没有使用过,于是简单研究了一下。由于项目采用微服务架构,需要考虑注册中心(nacos)对国产数据库的支持,相应的进行配置调整。

nacos原生支持内存数据库和mysql数据库,并不支持达梦或是人大金仓数据库。于是网上找了一遍,几篇文章都是说要修改nacos源码,以增加自定义驱动。

于是我按文章所写,下载并修改了nacos源码,正准备测试之际,突然想到这种做法不太友好,有没有别的办法?
问题的关键在于两点:
1、如何在nacos中加载数据库驱动JAR包?
2、如何修改nacos的数据库驱动配置?
解决方案:
1、在nacos启动时,额外加载外部JAR包。
2、在nacos启动的环境变量中,找到设置数据库驱动类的变量

由于本项目采用Docker+Docker-compose进行容器化部署,在不修改nacos源码的情况下,采用官方Docker镜像进行容器配置,具体配置如下:

nacos容器的Docker-compose配置(人大金仓数据库示例)

  nacos:
    image: nacos/nacos-server:v2.2.0
    container_name: nacos
    environment:
      MODE: standalone
      JVM_XMS: 512m
      JVM_XMX: 512m
      JVM_XMN: 256m
      DB_POOL_CONFIG_DRIVERCLASSNAME: com.kingbase8.Driver
      JAVA_OPT: "${JAVA_OPT} -Dloader.path=/home/nacos/libs"
    volumes:
      - /docker/nacos/libs/kingbase8-8.6.0.jar:/home/nacos/libs/kingbase8-8.6.0.jar
      - /docker/nacos/conf/application.properties:/home/nacos/conf/application.properties
      - /docker/nacos/logs/:/home/nacos/logs
    privileged: true
    restart: always
    network_mode: "host"

配置解析:
1.该环境变量DB_POOL_CONFIG_DRIVERCLASSNAME可以设置nacos的数据库驱动类。
2.该挂载配置/docker/nacos/libs/kingbase8-8.6.0.jar:/home/nacos/libs/kingbase8-8.6.0.jar往nacos容器中增加驱动包
3.该环境变量JAVA_OPT: "${JAVA_OPT} -Dloader.path=/home/nacos/libs"将会使得nacos在启动时加载/home/nacos/libs目录下的jar包。这里要特别说明一下,这里能够使用loader.path变量,是基于nacos的console模块的pom.xml文件中的插件spring-boot-maven-plugin配置了<layout>ZIP</layout>属性,否则loader.path变量无法生效,从这个意义上来说,nacos原生支持启动时加载外部jar包。

nacos服务的配置application.properties(人大金仓数据库示例)

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:kingbase8://192.168.0.17:54321/nacos_config?allowEncodingChanges=true&clientEncoding=UTF8
db.user.0=system
db.password.0=123456

配置解析:
1.spring.datasource.platform=mysql这个配置写的是mysql,实际上在此处与mysql无关,仅仅表示为使用外部数据库来存储nacos数据。
2.db.url.0=jdbc:kingbase8://192.168.0.17:54321/nacos_config?allowEncodingChanges=true&clientEncoding=UTF8这个配置有个坑,人大金仓数据库的客户端编码,默认使用jvm编码,而jvm编码与数据库编码不一致,会导致连不上数据库,nacos启动会报No DataSource Set的异常,因而在此处URL后面配置客户端编码clientEncoding=UTF8,根据人大金仓官方文档,这个参数默认不可修改,还需要设置allowEncodingChanges=true才允许修改。

最后,需要注意的就是nacos建表语句。nacos默认提供的是mysql数据库的建表语句示例,并且不同版本的nacos的建表语句会有差异。

基于nacos 2.2.0的人大金仓数据库的建表语句示例。


/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info   */
/******************************************/
CREATE TABLE config_info (
  id integer AUTO_INCREMENT NOT NULL,
  data_id varchar (255) NOT NULL ,
  group_id varchar(128) DEFAULT NULL,
  content text NOT NULL ,
  md5 varchar(32) DEFAULT NULL ,
  gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  src_user text ,
  src_ip varchar(20) DEFAULT NULL ,
  app_name varchar(128) DEFAULT NULL,
  tenant_id varchar(128) DEFAULT '',
  c_desc varchar(255) DEFAULT NULL,
  c_use varchar(64) DEFAULT NULL,
  effect varchar(64) DEFAULT NULL,
  type varchar(64) DEFAULT NULL,
  c_schema text,
  encrypted_data_key text
) ;
COMMENT ON TABLE config_info IS 'config_info';
COMMENT ON COLUMN config_info.gmt_create IS '创建时间';
COMMENT ON COLUMN config_info.gmt_modified IS '修改时间';
COMMENT ON COLUMN config_info.src_user IS 'source user';
COMMENT ON COLUMN config_info.src_ip IS 'source ip';
COMMENT ON COLUMN config_info.tenant_id IS '租户字段';
COMMENT ON COLUMN config_info.encrypted_data_key IS '秘钥';
ALTER TABLE config_info ADD CONSTRAINT pk_config_info primary key (ID) ENABLE VALIDATE;
ALTER TABLE config_info ADD CONSTRAINT uk_configinfo_datagrouptenant UNIQUE (
    data_id,group_id,tenant_id
) ENABLE VALIDATE;

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_aggr   */
/******************************************/
CREATE TABLE config_info_aggr (
  id integer AUTO_INCREMENT NOT NULL ,
  data_id varchar(255) NOT NULL ,
  group_id varchar(128) NOT NULL ,
  datum_id varchar(255) NOT NULL ,
  content text NOT NULL ,
  gmt_modified datetime NOT NULL ,
  app_name varchar(128) DEFAULT NULL,
  tenant_id varchar(128) DEFAULT ''
) ;
COMMENT ON TABLE config_info_aggr IS '增加租户字段';
COMMENT ON COLUMN config_info_aggr.content IS '内容';
COMMENT ON COLUMN config_info_aggr.gmt_modified IS '修改时间';
COMMENT ON COLUMN config_info_aggr.tenant_id IS '租户字段';
ALTER TABLE config_info_aggr ADD CONSTRAINT pk_config_info_aggr primary key (id) ENABLE VALIDATE;
ALTER TABLE config_info_aggr ADD CONSTRAINT uk_configinfoaggr_datagrouptenantdatum UNIQUE (
    data_id,group_id,tenant_id,datum_id
) ENABLE VALIDATE;

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_beta   */
/******************************************/
CREATE TABLE config_info_beta (
  id integer AUTO_INCREMENT NOT NULL ,
  data_id varchar(255) NOT NULL ,
  group_id varchar(128) NOT NULL ,
  app_name varchar(128) DEFAULT NULL ,
  content text NOT NULL ,
  beta_ips text DEFAULT NULL ,
  md5 varchar(32) DEFAULT NULL ,
  gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  src_user text ,
  src_ip varchar(20) DEFAULT NULL ,
  tenant_id varchar(128) DEFAULT '' ,
  encrypted_data_key text
);
COMMENT ON TABLE config_info_beta IS 'config_info_beta';
COMMENT ON COLUMN config_info_beta.gmt_create IS '创建时间';
COMMENT ON COLUMN config_info_beta.gmt_modified IS '修改时间';
COMMENT ON COLUMN config_info_beta.src_user IS 'source user';
COMMENT ON COLUMN config_info_beta.tenant_id IS '租户字段';
COMMENT ON COLUMN config_info_beta.encrypted_data_key IS '秘钥';
ALTER TABLE config_info_beta ADD CONSTRAINT pk_config_info_beta primary key (id) ENABLE VALIDATE;
ALTER TABLE config_info_beta ADD CONSTRAINT uk_configinfobeta_datagrouptenant UNIQUE (
    data_id,group_id,tenant_id
) ENABLE VALIDATE;

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_info_tag   */
/******************************************/
CREATE TABLE config_info_tag (
  id integer AUTO_INCREMENT NOT NULL ,
  data_id varchar(255) NOT NULL ,
  group_id varchar(128) NOT NULL ,
  tenant_id varchar(128) DEFAULT '' ,
  tag_id varchar(128) NOT NULL ,
  app_name varchar(128) DEFAULT NULL ,
  content text NOT NULL ,
  md5 varchar(32) DEFAULT NULL ,
  gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  src_user text ,
  src_ip varchar(20) DEFAULT NULL
) ;
COMMENT ON TABLE config_info_tag IS 'config_info_tag';
COMMENT ON COLUMN config_info_tag.gmt_create IS '创建时间';
COMMENT ON COLUMN config_info_tag.gmt_modified IS '修改时间';
COMMENT ON COLUMN config_info_tag.src_user IS 'source user';
COMMENT ON COLUMN config_info_tag.src_ip IS 'source ip';
ALTER TABLE config_info_tag ADD CONSTRAINT pk_config_info_tag primary key (id) ENABLE VALIDATE;
ALTER TABLE config_info_tag ADD CONSTRAINT uk_configinfotag_datagrouptenanttag UNIQUE (
    data_id,group_id,tenant_id,tag_id
) ENABLE VALIDATE;

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = config_tags_relation   */
/******************************************/
CREATE TABLE config_tags_relation (
  id bigint NOT NULL ,
  tag_name varchar(128) NOT NULL ,
  tag_type varchar(64) DEFAULT NULL ,
  data_id varchar(255) NOT NULL ,
  group_id varchar(128) NOT NULL ,
  tenant_id varchar(128) DEFAULT '' ,
  nid integer AUTO_INCREMENT NOT NULL
) ;
COMMENT ON TABLE config_tags_relation IS 'config_tag_relation';
ALTER TABLE config_tags_relation ADD CONSTRAINT pk_config_tags_relation primary key (nid) ENABLE VALIDATE;
ALTER TABLE config_tags_relation ADD CONSTRAINT uk_configtagrelation_configidtag UNIQUE (
    id,tag_name,tag_type
) ENABLE VALIDATE;
CREATE INDEX idx_tenant_id ON config_tags_relation USING BTREE (tenant_id) TABLESPACE sys_default;

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = group_capacity   */
/******************************************/
CREATE TABLE group_capacity (
  id integer NOT NULL AUTO_INCREMENT ,
  group_id varchar(128) NOT NULL DEFAULT '' ,
  quota integer NOT NULL DEFAULT '0' ,
  usage integer NOT NULL DEFAULT '0' ,
  max_size integer NOT NULL DEFAULT '0' ,
  max_aggr_count integer NOT NULL DEFAULT '0' ,
  max_aggr_size integer NOT NULL DEFAULT '0' ,
  max_history_count integer NOT NULL DEFAULT '0' ,
  gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ;
COMMENT ON TABLE group_capacity IS '集群、各Group容量信息表';
COMMENT ON COLUMN group_capacity.id IS '主键ID';
COMMENT ON COLUMN group_capacity.group_id IS 'Group ID,空字符表示整个集群';
COMMENT ON COLUMN group_capacity.quota IS '配额,0表示使用默认值';
COMMENT ON COLUMN group_capacity.usage IS '使用量';
COMMENT ON COLUMN group_capacity.max_size IS '单个配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN group_capacity.max_aggr_count IS '聚合子配置最大个数,,0表示使用默认值';
COMMENT ON COLUMN group_capacity.max_aggr_size IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN group_capacity.max_history_count IS '最大变更历史数量';
COMMENT ON COLUMN group_capacity.gmt_create IS '创建时间';
COMMENT ON COLUMN group_capacity.gmt_modified IS '修改时间';
ALTER TABLE group_capacity ADD CONSTRAINT pk_group_capacity primary key (id) ENABLE VALIDATE;
ALTER TABLE group_capacity ADD CONSTRAINT uk_group_id UNIQUE (
    group_id
) ENABLE VALIDATE;

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = his_config_info   */
/******************************************/
CREATE TABLE his_config_info (
  id bigint NOT NULL,
  nid bigint NOT NULL AUTO_INCREMENT,
  data_id varchar(255) NOT NULL,
  group_id varchar(128) NOT NULL,
  app_name varchar(128) DEFAULT NULL ,
  content text NOT NULL,
  md5 varchar(32) DEFAULT NULL,
  gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  src_user text,
  src_ip varchar(20) DEFAULT NULL,
  op_type char(10) DEFAULT NULL,
  tenant_id varchar(128) DEFAULT '' ,
  encrypted_data_key text
) ;
COMMENT ON TABLE his_config_info IS '多租户改造';
COMMENT ON COLUMN his_config_info.tenant_id IS '租户字段';
COMMENT ON COLUMN his_config_info.encrypted_data_key IS '秘钥';
ALTER TABLE his_config_info ADD CONSTRAINT pk_his_config_info primary key (nid) ENABLE VALIDATE;
CREATE INDEX idx_gmt_create ON his_config_info USING BTREE (gmt_create) TABLESPACE sys_default;
CREATE INDEX idx_gmt_modified ON his_config_info USING BTREE (gmt_modified) TABLESPACE sys_default;
CREATE INDEX idx_did ON his_config_info USING BTREE (data_id) TABLESPACE sys_default;

/******************************************/
/*   数据库全名 = nacos_config   */
/*   表名称 = tenant_capacity   */
/******************************************/
CREATE TABLE tenant_capacity (
  id bigint NOT NULL AUTO_INCREMENT ,
  tenant_id varchar(128) NOT NULL DEFAULT '' ,
  quota integer NOT NULL DEFAULT '0' ,
  usage integer NOT NULL DEFAULT '0' ,
  max_size integer NOT NULL DEFAULT '0' ,
  max_aggr_count integer NOT NULL DEFAULT '0' ,
  max_aggr_size integer NOT NULL DEFAULT '0' ,
  max_history_count integer NOT NULL DEFAULT '0' ,
  gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ;
COMMENT ON TABLE tenant_capacity IS '租户容量信息表';
COMMENT ON COLUMN tenant_capacity.id IS '主键ID';
COMMENT ON COLUMN tenant_capacity.tenant_id IS 'Tenant ID';
COMMENT ON COLUMN tenant_capacity.quota IS '配额,0表示使用默认值';
COMMENT ON COLUMN tenant_capacity.usage IS '使用量';
COMMENT ON COLUMN tenant_capacity.max_size IS '单个配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN tenant_capacity.max_aggr_count IS '聚合子配置最大个数';
COMMENT ON COLUMN tenant_capacity.max_aggr_size IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
COMMENT ON COLUMN tenant_capacity.max_history_count IS '最大变更历史数量';
COMMENT ON COLUMN tenant_capacity.gmt_create IS '创建时间';
COMMENT ON COLUMN tenant_capacity.gmt_modified IS '修改时间';
ALTER TABLE tenant_capacity ADD CONSTRAINT pk_tenant_capacity primary key (id) ENABLE VALIDATE;
ALTER TABLE tenant_capacity ADD CONSTRAINT uk_tenant_id UNIQUE (
    tenant_id
) ENABLE VALIDATE;

CREATE TABLE tenant_info (
  id bigint NOT NULL AUTO_INCREMENT ,
  kp varchar(128) NOT NULL ,
  tenant_id varchar(128) default '' ,
  tenant_name varchar(128) default '' ,
  tenant_desc varchar(256) DEFAULT NULL ,
  create_source varchar(32) DEFAULT NULL ,
  gmt_create bigint NOT NULL ,
  gmt_modified bigint NOT NULL
) ;
COMMENT ON TABLE tenant_info IS 'tenant_info';
COMMENT ON COLUMN tenant_info.gmt_create IS '创建时间';
COMMENT ON COLUMN tenant_info.gmt_modified IS '修改时间';
ALTER TABLE tenant_info ADD CONSTRAINT pk_tenant_info primary key (id) ENABLE VALIDATE;
ALTER TABLE tenant_info ADD CONSTRAINT uk_tenant_info_kptenantid UNIQUE (
    kp,tenant_id
) ENABLE VALIDATE;
CREATE INDEX idx_tenant_id_2 ON tenant_info USING BTREE (tenant_id) TABLESPACE sys_default;

insert into tenant_info(id, kp, tenant_id, tenant_name, tenant_desc, create_source, gmt_create, gmt_modified) values
(1, '1', 'dev', 'dev', '开发环境', NULL, 1641741270448, 1641741287236),
(2, '1', 'prod', 'prod', '生产环境', NULL, 1641741270448, 1641741287236),
(3, '1', 'test', 'test', '测试环境', NULL, 1641741270448, 1641741287236);

CREATE TABLE users (
	username varchar(50) NOT NULL PRIMARY KEY,
	password varchar(500) NOT NULL,
	enabled boolean NOT NULL
);

CREATE TABLE roles (
	username varchar(50) NOT NULL,
	role varchar(50) NOT NULL,
	constraint uk_username_role UNIQUE (username,role)
);

CREATE TABLE permissions (
    role varchar(50) NOT NULL,
    resource varchar(512) NOT NULL,
    action varchar(8) NOT NULL,
    constraint uk_role_permission UNIQUE (role,resource,action)
);

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

达梦数据库请根据上面代码示例自行调整即可。

有关国产化数据库(达梦DM、人大金仓kingbase8)部署基于Docker的Nacos服务(不需修改nacos源码)的更多相关文章

  1. ruby - 使用 ruby​​ 和 savon 的 SOAP 服务 - 2

    我正在尝试使用ruby​​和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我

  2. ruby - 具有身份验证的私有(private) Ruby Gem 服务器 - 2

    我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..

  3. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  4. ruby-on-rails - s3_direct_upload 在生产服务器中不工作 - 2

    在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo

  5. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  6. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  7. ruby-on-rails - 在 Rails 中调试生产服务器 - 2

    您如何在Rails中的实时服务器上进行有效调试,无论是在测试版/生产服务器上?我试过直接在服务器上修改文件,然后重启应用,但是修改好像没有生效,或者需要很长时间(缓存?)我也试过在本地做“脚本/服务器生产”,但是那很慢另一种选择是编码和部署,但效率很低。有人对他们如何有效地做到这一点有任何见解吗? 最佳答案 我会回答你的问题,即使我不同意这种热修补服务器代码的方式:)首先,你真的确定你已经重启了服务器吗?您可以通过跟踪日志文件来检查它。您更改的代码显示的View可能会被缓存。缓存页面位于tmp/cache文件夹下。您可以尝试手动删除

  8. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  9. UE4 源码阅读:从引擎启动到Receive Begin Play - 2

    一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame

  10. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

随机推荐