## 修改自 [https://github.com/lisong/code-push-server](https://github.com/lisong/code-push-server)
# docker 部署 code-push-server
>该文档用于描述docker部署code-push-server,实例包含三个部分
- code-push-server部分
- 更新包默认采用`local`存储(即存储在本地机器上)。使用docker volume存储方式,容器销毁不会导致数据丢失,除非人为删除volume。
- 内部使用pm2 cluster模式管理进程,默认开启进程数为cpu数,可以根据自己机器配置设置docker-compose.yml文件中deploy参数。
- docker-compose.yml只提供了应用的一部分参数设置,如需要设置其他配置,可以修改文件config.js。
- mysql部分
- 数据使用docker volume存储方式,容器销毁不会导致数据丢失,除非人为删除volume。
- 应用请勿使用root用户,为了安全可以创建权限相对较小的权限供code-push-server使用,只需要给予`select,update,insert`权限即可。初始化数据库需要使用root或有建表权限用户
- redis部分
- `tryLoginTimes` 登录错误次数限制
- `updateCheckCache` 提升应用性能
- `rolloutClientUniqueIdCache` 灰度发布
## 安装docker
参考docker官方安装教程
- [>>mac点这里](https://docs.docker.com/docker-for-mac/install/)
- [>>windows点这里](https://docs.docker.com/docker-for-windows/install/)
- [>>linux点这里](https://docs.docker.com/install/linux/docker-ce/ubuntu/)
`$ docker info` 能成功输出相关信息,则安装成功,才能继续下面步骤
## 启动swarm
```shell
$ sudo docker swarm init
```
## 获取代码
```shell
$ git clone https://github.com/lisong/code-push-server.git
$ cd code-push-server/docker
```
## 修改配置文件
```shell
$ vim docker-compose.yml
```
*将`DOWNLOAD_URL`中`YOU_MACHINE_IP`替换成本机外网ip或者域名*
*将`MYSQL_HOST`中`YOU_MACHINE_IP`替换成本机内网ip*
*将`REDIS_HOST`中`YOU_MACHINE_IP`替换成本机内网ip*
## jwt.tokenSecret修改
> code-push-server 验证登录验证方式使用的json web token加密方式,该对称加密算法是公开的,所以修改config.js中tokenSecret值很重要。
*非常重要!非常重要! 非常重要!*
> 可以打开连接`https://www.grc.com/passwords.htm`获取 `63 random alpha-numeric characters`类型的随机生成数作为密钥
## 部署
```shell
$ sudo docker stack deploy -c docker-compose.yml code-push-server
```
> 如果网速不佳,需要漫长而耐心的等待。。。去和妹子聊会天吧^_^
## 查看进展
```shell
$ sudo docker service ls
$ sudo docker service ps code-push-server_db
$ sudo docker service ps code-push-server_redis
$ sudo docker service ps code-push-server_server
```
> 确认`CURRENT STATE` 为 `Running about ...`, 则已经部署完成
## 访问接口简单验证
`$ curl -I http://YOUR_CODE_PUSH_SERVER_IP:3000/`
返回`200 OK`
```http
HTTP/1.1 200 OK
X-DNS-Prefetch-Control: off
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=15552000; includeSubDomains
X-Download-Options: noopen
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Type: text/html; charset=utf-8
Content-Length: 592
ETag: W/"250-IiCMcM1ZUFSswSYCU0KeFYFEMO8"
Date: Sat, 25 Aug 2018 15:45:46 GMT
Connection: keep-alive
```
## 浏览器登录
> 默认用户名:admin 密码:123456 记得要修改默认密码哦
> 如果登录连续输错密码超过一定次数,会限定无法再登录. 需要清空redis缓存
```shell
$ redis-cli -p6388 # 进入redis
> flushall
> quit
```
## 查看服务日志
```shell
$ sudo docker service logs code-push-server_server
$ sudo docker service logs code-push-server_db
$ sudo docker service logs code-push-server_redis
```
## 查看存储 `docker volume ls`
DRIVER | VOLUME NAME | 描述
------ | ----- | -------
local | code-push-server_data-mysql | 数据库存储数据目录
local | code-push-server_data-storage | 存储打包文件目录
local | code-push-server_data-tmp | 用于计算更新包差异文件临时目录
local | code-push-server_data-redis | redis落地数据
## 销毁退出应用
```bash
$ sudo docker stack rm code-push-server
$ sudo docker swarm leave --force
```
没有合适的资源?快使用搜索试试~ 我知道了~
自动化运维部署脚本全集-适合所有IT人
共146个文件
sh:70个
md:27个
yaml:16个
需积分: 0 10 下载量 14 浏览量
2023-05-30
19:38:32
上传
评论 4
收藏 378KB ZIP 举报
温馨提示
项目致力于实现一键部署各种常见服务,实现常用功能,且具有幂等性(多次执行效果一致)的脚本 . ├── 01-installation-scripts │ ├── 01-MySQL │ ├── 02-Zabbix │ ├── 03-Jumpserver │ ├── 04-Docker │ ├── 05-Jenkins │ ├── 06-Gitlab │ ├── 07-Nginx-tengine-openresty-kong │ ├── 08-EFK │ ├── 09-Redis │ ├── 10-GoAccess │ ├── 11-vsftp │ ├── 12-MongoDB │ ├── 13-jdk │ ├── 14-zookeeper │ ├── 15-maven │ ├── 16-kafka │ ├── 17-rabbitmq │ ├── 18-Elasticsearch │ ├── 19-rsyncd │ ├── 20-nfs │ ├── 21-tomcat │ ├── 22-promethe
资源推荐
资源详情
资源评论
收起资源包目录
自动化运维部署脚本全集-适合所有IT人 (146个子文件)
ansible.cfg 20KB
ca.cnf 3KB
zabbix_agentd.conf 10KB
setting.conf 149B
cluster.conf 88B
zabbix_agentd.conf_onserver 10KB
Dockerfile 1KB
Dockerfile 663B
Dockerfile 562B
Dockerfile 378B
Dockerfile 242B
Dockerfile 204B
Dockerfile 177B
.gitignore 54B
hosts 1KB
zabbix_agentd.conf.j2 11KB
config.js 3KB
process.json 332B
LICENSE 11KB
02-pg流复制配置.md 5KB
02-clickhouse集群配置.md 4KB
README.md 4KB
README.md 3KB
README.md 3KB
02-es集群配置.md 2KB
02-rabbitmq集群配置.md 2KB
02-kafka集群配置.md 1KB
03-mysql GTID主从复制.md 1KB
README.md 1KB
02-zookeeper集群配置.md 1KB
README.md 783B
README.md 456B
03-es-head谷歌浏览器插件.md 452B
README.md 451B
README.md 447B
README.md 400B
03-kafka可视化工具.md 329B
README.md 312B
README.md 308B
chrome-trust.md 306B
README.md 289B
README.md 271B
README.md 155B
README.md 145B
README.md 131B
README.md 89B
chrome-certs-details.png 35KB
chrome-certs-ok.png 26KB
chrome-settings-certs-imported.png 24KB
chrome-settings-certs.png 19KB
output.png 17KB
02-show-duplicate-java-classes.py 12KB
wireguard.sh 33KB
01-install-nginx-series.sh 27KB
01-install-apollo.sh 26KB
01-install-openvpn.sh 23KB
01-show-busy-java-threads.sh 21KB
03-install-mysqld_exporter.sh 17KB
05-install-prometheus-webhook-Dingtalk.sh 13KB
01-install-postgresql.sh 13KB
01-install-mysql5.7.sh 13KB
01-install-vsftp.sh 13KB
01-install-kafka.sh 12KB
01-install-consul.sh 12KB
03-find-in-jars.sh 12KB
01-install-mongodb.sh 11KB
01-install-nacos.sh 11KB
01-install-rocketmq.sh 10KB
02-install-node_exporter.sh 10KB
01-install-redis.sh 10KB
05-uq.sh 10KB
02-install-jenkins.sh 8KB
01-install-rabbitmq.sh 8KB
02-install-mysql8.0.sh 8KB
02-install-rocketmq-dashboard.sh 8KB
01-install-grafana.sh 8KB
01-install-zookeeper.sh 8KB
04-install-alertmanager.sh 7KB
01-install-prometheus.sh 7KB
01-install-flexgw.sh 7KB
ssl-check.sh 7KB
01-start-rsyncd-service.sh 7KB
04-install-Kafka-Eagle.sh 7KB
01-install-tomcat.sh 7KB
01-start-nfs-service.sh 6KB
02-update-openssh.sh 6KB
01-install-es.sh 6KB
01-install-goaccess.sh 6KB
01-update-git.sh 5KB
pve_to_vmware.sh 5KB
01-update-sqlite3.sh 5KB
01-install-maven.sh 5KB
03-init-system.sh 5KB
01-install-Node.js.sh 5KB
01-install-clickhouse.sh 4KB
start-filebeat.sh 4KB
01-install-jdk-8u202.sh 4KB
01-install-docker.sh 4KB
04-restore-postgresql.sh 3KB
gen.cert.sh 3KB
共 146 条
- 1
- 2
资源评论
qq_23151177
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功