整体方案
远程缓存,用于开发组内部或持续集成(CI )系统内,进行构建输出的共享。如果你的构建是需要反复执行的,一台机器的输出能够被另外一台机器安全的重用,那么这将会使构建速度显著的提升。
参照Bazel Remote Caching,现在有很多种后端解决方案,都可以被用来作为远程缓存。有如下选项:
本篇为Bazel Remote Caching的各个方案实践。
nginx+本地文件系统
安装nginx
获取nginx的docker镜像。
$ docker pull nginx
创建nginx相关目录,用于存放后面的一些文件。
$
mkdir
-p ~
/nginx/www
~
/nginx/logs
~
/nginx/conf
配置nginx
启动nginx,使其能够使用共享目录存储。
$
export
PWD=`
pwd
`
/nginx
$ docker run -p 80:80 --name mynginx -
v
$PWD
/www
:
/www
-
v
$PWD
/conf/nginx
.conf:
/etc/nginx/nginx
.conf -
v
$PWD
/logs
:
/wwwlogs
-d nginx
配置nginx,使其能够处理Bazel的HTTP缓存协议。
1234567891011121314151617181920server {
listen 80;
listen 443 ssl;