opendevops-cn / opendevops Goto Github PK
View Code? Open in Web Editor NEWCODO是一款为用户提供企业多混合云、一站式DevOps、自动化运维、完全开源的云管理平台、自动化运维平台
Home Page: http://www.opendevops.cn/
License: GNU General Public License v3.0
CODO是一款为用户提供企业多混合云、一站式DevOps、自动化运维、完全开源的云管理平台、自动化运维平台
Home Page: http://www.opendevops.cn/
License: GNU General Public License v3.0
Q:新部署的时候登陆进去,点击用户列表没办法创建/看不到重置密码/重置MFA按钮等问题?
A:这个问题是因为没有创建角色,默认部署的时候权限/组件数据都是初始化进去的,但是角色需要用户自己创建,用户可以点击用户管理-->角色管理 新建一个角色,给所有组件/菜单/权限 然后退出,强刷下浏览器就可以了,操作步骤可参考:http://docs.opendevops.cn/zh/latest/permission_docs.html#role
全过程按照官方文档安装,每次使用域名访问主页,登录时报错502,nginx错误日志为:
2020/03/10 15:59:41 [error] 5995#5995: *8 [lua] access_check.lua:18: acc-->>>accounts, client: 192.168.6.39, server: gw.opendevops.cn, request: "POST /api/accounts/login/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/login"
2020/03/10 15:59:41 [error] 5995#5995: *8 [lua] upstream.lua:48: set(): real_uri-------->/login/, client: 192.168.6.39, server: gw.opendevops.cn, request: "POST /api/accounts/login/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/login"
2020/03/10 15:59:42 [error] 5995#5995: *8 mg.opendevops.cn could not be resolved (3: Host not found), client: 192.168.6.39, server: gw.opendevops.cn, request: "POST /api/accounts/login/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/login"
请大神帮忙解决一下,不胜感激!!!
一群有梦想的一线运维同学开源了一个一站式运维平台。
你最希望平台增加什么功能,请留下你的详细规划建议。
同时我们也希望你的加入,为开源社区、运维同学做出一些贡献,Thanks。
/root/.pm2/logs/codo-task-exec-task-error-16.log last 15 lines:
16|codo-ta | 2020-04-20 11:14 +08:00: super(BlockingConnection, self)._handle_read()
16|codo-ta | 2020-04-20 11:14 +08:00: File "/usr/local/lib/python3.6/site-packages/pika/adapters/base_connection.py", line 343, in _handle_read
16|codo-ta | 2020-04-20 11:14 +08:00: return self._handle_error(error)
16|codo-ta | 2020-04-20 11:14 +08:00: File "/usr/local/lib/python3.6/site-packages/pika/adapters/base_connection.py", line 302, in _handle_error
16|codo-ta | 2020-04-20 11:14 +08:00: self._handle_disconnect()
16|codo-ta | 2020-04-20 11:14 +08:00: File "/usr/local/lib/python3.6/site-packages/pika/adapters/base_connection.py", line 248, in _handle_disconnect
16|codo-ta | 2020-04-20 11:14 +08:00: self._adapter_disconnect()
16|codo-ta | 2020-04-20 11:14 +08:00: File "/usr/local/lib/python3.6/site-packages/pika/adapters/blocking_connection.py", line 318, in _adapter_disconnect
16|codo-ta | 2020-04-20 11:14 +08:00: self._check_state_on_disconnect()
16|codo-ta | 2020-04-20 11:14 +08:00: File "/usr/local/lib/python3.6/site-packages/pika/adapters/blocking_connection.py", line 368, in _check_state_on_disconnect
16|codo-ta | 2020-04-20 11:14 +08:00: super(BlockingConnection, self)._check_state_on_disconnect()
16|codo-ta | 2020-04-20 11:14 +08:00: File "/usr/local/lib/python3.6/site-packages/pika/adapters/base_connection.py", line 153, in _check_state_on_disconnect
16|codo-ta | 2020-04-20 11:14 +08:00: raise exceptions.ProbableAuthenticationError
16|codo-ta | 2020-04-20 11:14 +08:00: pika.exceptions.ProbableAuthenticationError
16|codo-ta | 2020-04-20 11:14 +08:00: PROGRESS:ki4q6cD4AqM7XTzaRotW3g INFO 2020-04-20 11:14:55,919 logger_key read_log LINE.NO: 67 : xxxx
Failed to establish a new connection: [Errno 110] Connection timed out',
你好,websdk 这个包在哪个地方?
@yanghongfei 你好,在代码仓库这个章节,我看到了您分享的 Gitlab 全局钩子,其中获取仓库组/名称用的是这段代码
repo_group = os.getcwd().split('/')[-2] # 组名字
repo_name = os.getcwd().split('/')[-1].replace('.git', '') # git名字
由于 Gitlab 现在已默认支持 Hashed storage
,导致组名和仓库名称都基于 sha256sum
算法进行了转化,导致无法直接通过这种方法获取仓库组/名称了,我查找了资料,发现是可以关闭的这个功能的,但是我们已经建立的仓库则无法还原了。所以,想请教下,还有其它较好的方法可以获取仓库名称和组名么?谢谢。
再次感谢你们为社区做的贡献!
按照分布式安装
教程安装好之后,有些列表会经常出现加载慢,比如订单列表
、仓库列表
,具体可以参见如下图所示。比如/v2/task/list/
快的时候几十毫秒就 ok 了,慢的时候会超过 5 s,而且这个时间比较固定。
[root@localhost supervisor]# tail -n 20 task_scheduler.log
[I 190919 10:17:15 web_logs:67] web server start sucessfuled.
[I 190919 10:17:22 web:2106] 200 GET /v2/task/list/ (127.0.0.1) 67.35ms
[I 190919 10:17:27 web:2106] 200 GET /v2/task/check/?list_id=28 (127.0.0.1) 5040.25ms
[I 190919 10:31:25 web:2106] 200 GET /v2/task/list/ (127.0.0.1) 92.38ms
[I 190919 10:31:31 web:2106] 200 GET /v2/task/check/?list_id=28 (127.0.0.1) 5047.83ms
[I 190919 10:31:33 web:2106] 200 GET /v2/task/check_history/?page=1&limit=18&search_val= (127.0.0.1) 5062.15ms
[I 190919 10:31:33 web:2106] 200 GET /v2/task/list/ (127.0.0.1) 5034.16ms
[I 190919 10:31:39 web:2106] 200 GET /v2/task/check/?list_id=28 (127.0.0.1) 5084.30ms
[I 190919 10:43:00 web:2106] 200 GET /v2/task/check_history/?page=1&limit=18&search_val= (127.0.0.1) 22.24ms
[I 190919 10:43:20 web:2106] 200 GET /v2/task/list/ (127.0.0.1) 20.22ms
[I 190919 10:43:25 web:2106] 200 GET /v2/task/check/?list_id=28 (127.0.0.1) 5048.11ms
[I 190919 10:50:56 web:2106] 200 GET /v2/task/list/ (127.0.0.1) 19.15ms
[I 190919 10:51:01 web:2106] 200 GET /v2/task/check/?list_id=28 (127.0.0.1) 5036.27ms
[I 190919 10:51:02 web:2106] 200 GET /v2/task/check_history/?page=1&limit=18&search_val= (127.0.0.1) 5049.55ms
[I 190919 10:51:04 web:2106] 200 GET /v2/task/list/ (127.0.0.1) 58.51ms
[I 190919 10:51:09 web:2106] 200 GET /v2/task/check/?list_id=28 (127.0.0.1) 5036.56ms
[I 190919 10:51:10 web:2106] 200 GET /v2/task/check_history/?page=1&limit=18&search_val= (127.0.0.1) 5052.04ms
[I 190919 10:51:19 web:2106] 200 GET /v2/task/list/ (127.0.0.1) 5034.76ms
[I 190919 10:51:19 web:2106] 200 GET /v2/task/check/?list_id=28 (127.0.0.1) 43.66ms
[I 190919 10:51:52 web:2106] 200 GET /v2/task_layout/temp/ (127.0.0.1) 5025.44ms
初步排查应该是 ORM 框架出现的查询问题,但是具体问题排查了老久,都没有找到答案。希望各位大神能够指导下,不胜感激!!!
task_info = session.query(TaskList).filter(TaskList.schedule != 'OK').order_by(
-TaskList.start_time, -TaskList.list_id).offset(limit_start).limit(int(limit))
附上我的系统信息
Linux localhost.centos2 3.10.0-957.27.2.el7.x86_64 #1 SMP Mon Jul 29 17:46:05 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
通过配置已经可以用ldap登录,但是有个问题就是进去的时候需要用户重置密码,这个时候问题出现了,重置完ldap的密码并没有更新ldap的密码,导致ldap与本地两个账号的密码不一致,也就是ldap的账号管理成了一次性的登录方案了
SQL脚本:
INSERT INTO mg_functions
VALUES (6,'ss','/login/','ALL','10','2018-03-21 10:29:14','2018-03-20 18:35:24'),
数据库表结构:
CREATE TABLE mg_functions
(
func_id
int(11) NOT NULL AUTO_INCREMENT,
func_name
varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
app_code
varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
uri
varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
method_type
varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
parameters
text COLLATE utf8mb4_unicode_ci,
status
varchar(5) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
utime
datetime DEFAULT NULL,
ctime
datetime DEFAULT NULL,
PRIMARY KEY (func_id
),
KEY ix_mg_functions_method_type
(method_type
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
若部署完成后,登陆界面无法加载姿态资源请确认以下配置, include mime.types;
cat /usr/local/openresty/nginx/conf/nginx.conf
user root;
worker_processes auto;
worker_rlimit_nofile 51200;
error_log logs/error.log;
events {
use epoll;
worker_connections 51024;
}
http {
#设置默认lua搜索路径
lua_package_path '$prefix/lua/?.lua;/blah/?.lua;;';
lua_code_cache on; #线上环境设置为on, off时可以热加载lua文件
lua_shared_dict user_info 1m;
lua_shared_dict my_limit_conn_store 100m; #100M可以放1.6M个键值对
include mime.types; #如果需要代理前端(静态资源)需要加这一行
client_header_buffer_size 64k;
large_client_header_buffers 4 64k;
init_by_lua_file lua/init_by_lua.lua; # nginx启动时就会执行
include ./conf.d/*.conf; # lua生成upstream
resolver 10.10.10.12;
}
默认仓库https://registry.npmjs.org
修改:
npm config set registry https://registry.npm.taobao.org
天呐~
好棒!!!!
如何快速部署?看文档貌似部署很繁琐啊
部署步骤有点复杂了,既然是微服务,用 docker-compose 把他们串起来是完全可以实现的。 是否考虑提供这种方案呢?
问一下,为什么我看好多都不支持svn发布啊?
服务启动时eroor
/root/.pm2/logs/codo-cmdb-9001-error.log last 15 lines:
11|codo-cm | 2020-04-14 13:28 +08:00: ERROR: Could not consume arg: --port=9001
11|codo-cm | 2020-04-14 13:28 +08:00: Usage: startup.py --service=cmdb -
11|codo-cm | 2020-04-14 13:28 +08:00: available commands: run
11|codo-cm | 2020-04-14 13:28 +08:00:
11|codo-cm | 2020-04-14 13:28 +08:00: For detailed information on this command, run:
11|codo-cm | 2020-04-14 13:28 +08:00: startup.py --service=cmdb - --help
11|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:gSwUApbcynHLVdYyGb7VWH INFO 2020-04-14 13:28:49,826 logger_key read_log LINE.NO: 67 : xxxx
11|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:gSwUApbcynHLVdYyGb7VWH INFO 2020-04-14 13:28:51,019 logger_key read_log LINE.NO: 67 : iKtbsy5LtwTww2znrRf4c3
11|codo-cm | 2020-04-14 13:28 +08:00: [I 200414 13:28:51 web_logs:67] iKtbsy5LtwTww2znrRf4c3
11|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:gSwUApbcynHLVdYyGb7VWH INFO 2020-04-14 13:28:51,024 logger_key read_log LINE.NO: 67 : progressid: iKtbsy5LtwTww2znrRf4c3
11|codo-cm | 2020-04-14 13:28 +08:00: [I 200414 13:28:51 web_logs:67] progressid: iKtbsy5LtwTww2znrRf4c3
11|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:gSwUApbcynHLVdYyGb7VWH INFO 2020-04-14 13:28:51,024 logger_key read_log LINE.NO: 67 : server address: 0.0.0.0:9001
11|codo-cm | 2020-04-14 13:28 +08:00: [I 200414 13:28:51 web_logs:67] server address: 0.0.0.0:9001
11|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:gSwUApbcynHLVdYyGb7VWH INFO 2020-04-14 13:28:51,024 logger_key read_log LINE.NO: 67 : web server start sucessfuled.
11|codo-cm | 2020-04-14 13:28 +08:00: [I 200414 13:28:51 web_logs:67] web server start sucessfuled.
/root/.pm2/logs/codo-cmdb-9000-error.log last 15 lines:
10|codo-cm | 2020-04-14 13:28 +08:00: ERROR: Could not consume arg: --port=9000
10|codo-cm | 2020-04-14 13:28 +08:00: Usage: startup.py --service=cmdb -
10|codo-cm | 2020-04-14 13:28 +08:00: available commands: run
10|codo-cm | 2020-04-14 13:28 +08:00:
10|codo-cm | 2020-04-14 13:28 +08:00: For detailed information on this command, run:
10|codo-cm | 2020-04-14 13:28 +08:00: startup.py --service=cmdb - --help
10|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:N8AujMiTPgJQAXnKjm8ouT INFO 2020-04-14 13:28:49,826 logger_key read_log LINE.NO: 67 : xxxx
10|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:N8AujMiTPgJQAXnKjm8ouT INFO 2020-04-14 13:28:51,066 logger_key read_log LINE.NO: 67 : LjSDaR55X7a7JoejkZBiKR
10|codo-cm | 2020-04-14 13:28 +08:00: [I 200414 13:28:51 web_logs:67] LjSDaR55X7a7JoejkZBiKR
10|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:N8AujMiTPgJQAXnKjm8ouT INFO 2020-04-14 13:28:51,070 logger_key read_log LINE.NO: 67 : progressid: LjSDaR55X7a7JoejkZBiKR
10|codo-cm | 2020-04-14 13:28 +08:00: [I 200414 13:28:51 web_logs:67] progressid: LjSDaR55X7a7JoejkZBiKR
10|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:N8AujMiTPgJQAXnKjm8ouT INFO 2020-04-14 13:28:51,070 logger_key read_log LINE.NO: 67 : server address: 0.0.0.0:9000
10|codo-cm | 2020-04-14 13:28 +08:00: [I 200414 13:28:51 web_logs:67] server address: 0.0.0.0:9000
10|codo-cm | 2020-04-14 13:28 +08:00: PROGRESS:N8AujMiTPgJQAXnKjm8ouT INFO 2020-04-14 13:28:51,071 logger_key read_log LINE.NO: 67 : web server start sucessfuled.
10|codo-cm | 2020-04-14 13:28 +08:00: [I 200414 13:28:51 web_logs:67] web server start sucessfuled.
请问资源申购 - 腾讯云 申购时,要如何配置,任务模板有说明文档吗?
POST http://demo-init.opendevops.cn/api/accounts/login/ 502 (Bad Gateway)
OpenDevOps文档:http://docs.opendevops.cn/zh/latest/
我执行了计划任务发现计划任务只能在docker里执行,并不是外部环境的计划任务,这个有其他办法嘛
添加主机提示这个错误信息是什么问题?
生成的是 RSA 文件
ssh-keygen -t rsa -C "[email protected]"
由于MQ解析不到自己的本地地址造成。
修改 /etc/hosts 加一条记录即可
如题
你好,你们的录像是怎么实现的,用的什么插件或工具?
半个月了,目前没有发现任何一个模块是完整可以跑通的。心累
非管理员用户,因为首页展示了管理员权限内容的东西,所以进去的时候会提示没有权限,这一块可以改进一下
比如做一个判断,如果不是非管理员,或者没有给权限就直接展示一个空白页或者其他内容的网页
这个 /var/www/codo-admin/db_sync.py 是容器内部文件,你截图描述为 从宿主机上查看,而且从宿主机 ping容器ip 也不会ping通
另:
搭建时,在此出错
[root@localhost codo-cmdb]# docker exec -ti codocmdb_codo_cmdb_1 /usr/local/bin/python3 /var/www/codo-cmdb/db_sync.py
File "/usr/local/lib/python3.6/socket.py", line 713, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out
raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '172.16.0.223' ([Errno 110] Connection timed out)")
我通过清理iptables -F 后,此问题仍然存在,请问如何解决?
Q:可以登陆进去,但是一直闪屏刷新/退出?
A:出现这个问题是因为网关token_secret
和codo-admin
里面token_secret
配置不一样,改成一样即可。
请仔细阅读网关配置中的*注册API网关文件* configs.lua
这块
[root@sc lua]# curl http://codo.tele-hot.com/api/mg/v2/accounts/user/?page=1&limit=15
[1] 23590
[root@sc lua]#
token过期,登录主页后一直死循环跳转主页。必须手动清理此网站的cookie才能正常。
openresty的日志:
2020/05/28 17:10:22 [error] 67040#67040: *434 [lua] upstream.lua:48: set(): real_uri-------->/authorization/, client: 127.0.0.1, server: gw.opendevops.cn, request: "GET /api/accounts/authorization/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/home"
2020/05/28 17:10:22 [error] 67040#67040: *439 [lua] auth_check.lua:44: check(): Invalid token: 'exp' claim expired at Thu, 28 May 2020 07:43:15 GMT, client: 127.0.0.1, server: gw.opendevops.cn, request: "GET /api/cmdb2/v1/cmdb/tag/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/home"
2020/05/28 17:10:22 [error] 67041#67041: *443 [lua] auth_check.lua:44: check(): Invalid token: 'exp' claim expired at Thu, 28 May 2020 07:43:15 GMT, client: 127.0.0.1, server: gw.opendevops.cn, request: "GET /api/tools/v1/zabbix/issues/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/home"
2020/05/28 17:10:22 [error] 67040#67040: *446 [lua] auth_check.lua:44: check(): Invalid token: 'exp' claim expired at Thu, 28 May 2020 07:43:15 GMT, client: 127.0.0.1, server: gw.opendevops.cn, request: "GET /api/task/v2/task/list/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/home"
2020/05/28 17:10:22 [error] 67040#67040: *447 [lua] auth_check.lua:44: check(): Invalid token: 'exp' claim expired at Thu, 28 May 2020 07:43:15 GMT, client: 127.0.0.1, server: gw.opendevops.cn, request: "GET /api/task/v2/task/statement/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/home"
2020/05/28 17:10:22 [error] 67040#67040: *450 [lua] access_check.lua:18: acc-->>>accounts, client: 127.0.0.1, server: gw.opendevops.cn, request: "GET /api/accounts/authorization/ HTTP/1.1", host: "gw.opendevops.cn", referrer: "http://demo-init.opendevops.cn/home"
不确定是我的问题,还是程序bug。
HTTPServerRequest(protocol='http', host='mg.domain.com:8010', method='POST', uri='/v2/sysconfig/check/', version='HTTP/1.0', remote_ip='127.0.0.1')
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/tornado/web.py", line 1543, in _execute
result = yield result
File "/usr/local/lib/python3.6/site-packages/tornado/gen.py", line 1099, in run
value = future.result()
File "/usr/local/lib/python3.6/site-packages/tornado/gen.py", line 296, in wrapper
result = func(*args, **kwargs)
File "/usr/local/lib/python3.6/types.py", line 248, in wrapped
coro = func(*args, **kwargs)
File "/var/www/codo-admin/mg/handlers/app_settings_handler.py", line 88, in post
ldap_ssl)
File "/usr/local/lib/python3.6/site-packages/websdk/ldap.py", line 18, in __init__
self.ldap_server = Server(ldap_server_host, port=ldap_server_port, use_ssl=ldap_use_ssl)
File "/usr/local/lib/python3.6/site-packages/ldap3/core/server.py", line 86, in __init__
host = host.strip()
AttributeError: 'NoneType' object has no attribute 'strip'
感觉像是host参数没有传入,不知道是哪儿配置有问题,麻烦帮忙看看,十分感谢
[root@Yangxiaofei tmp]# scp -i szit -r /root/.ssh/id_rsa.pub [email protected]:/tmp/id_rsa.pub
/etc/bashrc: line 78: /dev/null: Permission denied
/etc/bashrc: line 78: /dev/null: Permission denied
/etc/bashrc: line 78: /dev/null: Permission denied
/etc/bashrc: line 78: /dev/null: Permission denied
/etc/bashrc: line 78: /dev/null: Permission denied
/etc/bashrc: line 78: /dev/null: Permission denied
/etc/bashrc: line 78: /dev/null: Permission denied
Couldn't open /dev/null: Permission denied
lost connection
解决下报错路径权限:/dev/null
默认权限是:666 若你是4xx。我普通用户是无法将密钥推送到你的系统上的
sudo chmod 666 /dev/null
这样子在测试登陆系统/scp文件 就不会出现这个问题
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
-bash: /dev/null: Permission denied
1、无论什么原因导致要重新运行fast_depoly.sh时,一定要保证/etc/dnsmasq.conf除了了原有的注释,不能有任何其他的配置内容。否则dnsmasq无法启动。
2、在demo.conf 中配置行proxy_pass http://gw.opendevops.cn要改为proxy_pass http://gw.opendevops.cn:8081
在gw.conf中要把listen 80 改为listen 8081。
只要两配置文件中的端口一直,并且没有被占用就行。
否则openresty不能正常工作。
最后,为项目点赞。希望有跟多的人,能把自己解决的问题分享出来。
是否支持堡垒机的功能?比如数据库访问,Linux运维等,看了文档似乎没有
错误信息:
Step 10/16 : RUN pip3 install --upgrade pip
---> Running in 83716c526776
Collecting pip
Downloading https://files.pythonhosted.org/packages/c2/d7/90f34cb0d83a6c5631cf71dfe64cc1054598c843a92b400e55675cc2ac37/pip-18.1-py2.py3-none-any.whl (1.3MB)
Installing collected packages: pip
Found existing installation: pip 10.0.1
Uninstalling pip-10.0.1:
Successfully uninstalled pip-10.0.1
Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/tmp/pip-uninstall-y8n2hlf9/usr/local/bin/pip3'
The command '/bin/sh -c pip3 install --upgrade pip' returned a non-zero code: 1
碰到以上这个问题,报错没有文件目录,因为系统差异,有些Dockerfile里面需要pip3 install --user才可以安装依赖,有些不需要,报错的同学请自行修改Dockerfile里面pip3 install 加上 --user参数即可;
欢迎各位对CloudOpenDevOps平台的支持,
希望你能给我们项目一个Star, 基于开发者点动力。
另外,欢迎各位留言相关公司使用者,作者会进行评估放入官网。
使用的企业有(包括但不限于以下公司):
涉权请联系作者删除,最后感谢对CODO的支持.
请问有没有本地开发环境部署文档或者教程。启动startup跑不通, 前端路由必须代理一层, 太麻烦了。 有没有相关文档?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.