使用常见问题
使用 nohup 启动后台进程页面一直在转圈不会结束?
在 批量执行 或 发布配置 等的执行脚本中以 nohup
或 &
的方式启动后台子进程时需要
把命令的标准输出重定向至 /dev/null
,例如以下启动 Tomcat
的命令:
cd web/WEB-INF/
nohup ./startup.sh &
把上述命令改为:
cd web/WEB-INF/
nohup ./startup.sh > /dev/null &
能否使用自己的密钥对?
可以,v2.3.0
版本开始已支持上传自定义密钥对,可以在 系统管理 \ 系统设置 \ 密钥设置
中,自行上传密钥。
新建常规发布申请 git clone 错误
Spug
无法提供交互式的输入账户密码登录git仓库的能力,如果是公开的仓库 http/https/ssh
任何一种协议都可以,但如果是私有仓库推荐使用
ssh
协议配置密钥来访问。http/https
协议则需要在带上用户名和密码,例如 https://yourname:password@gitee.com/openspug/spug.git
如果账户名中包含了 @
符号,则需要替换成 %40
。特别要注意的是,如果你是通过docker方式部署的则需要确保在容器内可以访问仓库,而不是在宿主机上。
主机 Console 或执行发布页面无内容
这种情况大部分都是 Websocket
连接建立失败了,一般出现在部署时自己加了一层 nginx 之类的代理工具,这些代理工具默认无法处理 Weboscket
请求,
这就需要你配置其支持转发 Websocket
请求,下边给个 Nginx
的例子,这里假设你用 docker 部署的 Spug
, 映射了宿主机的 8000 端口:
server {
listen 80;
server_name xxx.xxx.xxx;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ^~ /api/ws/ {
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 404 /index.html;
}
文件管理器上传文件报错 413 Request Entity Too Large
文件上传大小受 Nginx
的 client_max_body_size
影响,请修该值至合适的大小,参考以下配置:
docker 方式部署配置文件位于容器内的 /etc/nginx/nginx.conf
, 可以在容器外部编辑后通过 docker cp
至容器内,也可以在容器内执行
vi
在容器内直接修改,最后别忘了重启容器。
server {
listen 80;
server_name xxx.xxx.xxx;
client_max_body_size 100m;
...
}
钉钉收不到通知?
钉钉机器人安全设置中 IP地址 添加部署 Spug
的服务器的公网地址,或者使用 自定义关键词 填写 通知
,如下图
发布任务执行时命令找不到提示 xx: not found
?
Spug
执行发布任务时,可能会在主机上执行一些命令,如果提示命令找不到,可以尝试在发布配置中的 应用发布前执行
或 应用发布后执行
中添加 export PATH=$PATH:/xxx
以加载环境变量。
也可以进入容器设置环境变量使全局生效,例如:
docker exec -it spug bash
vi /data/spug/env
添加以下内容:
/data/spug/env
此文件名及路径固定的不要修改,Spug会在容器启动时执行。
export PATH=$PATH:/usr/local/bin
export JAVA_HOME=/usr/local/jdk
保存后,重启容器即可全局生效。