Bazel build Remote-caching

使用说明

目录bazel_remote_cache主要放bazel远程缓存服务器的相关配置,以及需要做的一些准备。
Dockerfile是制作镜像的文件。nginx-install文件是直接在虚拟机中部署nginx服务,作为缓存服务器。

1.如何用docker部署nginx缓存服务器

首先拉取bazel-remote-cache镜像,然后指定端口启动镜像即可,这样nginx服务就可以使用了
拉取镜像:

docker pull docker.sangfor.com/cicd_2581/bazel-remote-cache:1.0

启动镜像:

docker run --name bazel_cache -p 8089:80 -itd docker.sangfor.com/cicd_2581/bazel-remote-cache:1.0

将nginx容器的缓存目录挂载到虚拟机的目录:
1.首先在虚拟机中创建挂载目录

mkdir -p /home/cloud/bazel_cache/

2.更改挂载目录权限

chomd 777 /home/cloud/bazel_cache/

3.启动容器并挂载到虚拟机对应的文件目录

docker run --name bazel_cache -p 8089:80 -v /home/cloud/bazel_cache/:/huge/www/cache/ -itd docker.sangfor.com/cicd_2581/bazel-remote-cache:1.0

2.虚拟机直接部署nginx服务作为缓存服务器

申请一个虚拟机,创建一个空文件夹,包含nginx-bazel.conf文件和nginx-install.sh文件,以root用户权限执行nginx-install.sh脚本

bash -x nginx-install.sh

执行脚本之后,nginx环境就已经配置好了,并且已经启动nginx服务,默认的nginx端口是80,需要自己在nginx-bazel.conf文件中手动修改。
目前已经部署好的缓存服务器地址:http://10.128.128.98/cache/

附录

nginx-bazel.conf

server {listen 80 default_server;root /huge/www;# Add index.php to the list if you are using PHPindex index.html index.htm index.nginx-debian.html;server_name localhost;location /cache/ {root /huge/www;client_body_temp_path   /huge/client_temp;dav_methods PUT DELETE MKCOL COPY MOVE;dav_ext_methods PROPFIND OPTIONS;dav_access      user:rw group:rw all:rw;create_full_put_path    on;client_max_body_size 2G;fancyindex on;access_log /huge/log/nginx/access.log;}
}

nginx-install.sh

#!/bin/bash
#Script for deploying bazel remote cache server
apt-get update
apt-get install -y nginx-extras
wget http://toolchain.pek.vn.eng.sangfor.com/bazel_server_config/nginx-bazel.conf -O /etc/nginx/sites-available/default
mkdir -p /huge/www/html /huge/www/cache /huge/client_temp /huge/log/nginx
chmod 777 /huge/www/cache
systemctl restart  nginx.service

Bazel build Remote-caching相关推荐

  1. Bazel Remote Caching

    本文翻译自:https://docs.bazel.build/versions/master/remote-caching.html 如有错误,敬请指正! 远程缓存 远程缓存,用于开发组内部或持续集成 ...

  2. bazel 链接_如何使用bazel build

    展开全部 安装 安装过程请参考: http://bazel.io/docs/install.html 使用工作区(workspace) 所有的Bazel构建都是基于一个 工作区(workspace) ...

  3. 解决Bazel:Error: LinkageError occurred while loading main class com.google.devtools.build.lib.bazel.

    解决Bazel安装错误:Error: LinkageError occurred while loading main class com.google.devtools.build.lib.baze ...

  4. Bazel note

    Bazel的学习 摘自知乎https://zhuanlan.zhihu.com/p/262497747 java_binary(name = "MyBinary",srcs = [ ...

  5. 编译加速 remote cache

    remote cache大致原理就是根据编译输入的sha码与编译输出建立(key,value)对,存储在远端cache.编译过程如果能匹配到key,则获取GET到value.如果hit不到key,则客 ...

  6. bazel 工具函数

    文章目录 visibility 可配置的属性 config_setting glob select workspace repository_rule Python py_binary & p ...

  7. bazel学习及覆盖率

    目录 1.bazel编译需要的条件: 2.bazel build //要编译文件的目录 3.bazel介绍 4.手动编译运行Envoy · Henry's Studio 5.使用bazel构建一个C+ ...

  8. bazel 链接_[bazel]-bazel的使用

    Change log 目录 一.是什么 二.安装 官网有安装教程.提供了三种安装方式.下面的homebrew是其中一种安装方式. step1: install the JDK Download the ...

  9. hello:bazel

    Bazel是什么: bazel是一个工程编译工具. Bazel的特点: 它适合构建和测试拥有庞大代码库的项目,用(多种)需要编译的语言写的项目,在多平台上部署的项目,及有大量测试的工程的项目. baz ...

最新文章

  1. Redis常用命令集
  2. springboot入门demo详解(解决跨域)
  3. leetcode 654. 构造最大二叉树 思考分析
  4. console.log()注意事项。
  5. 【Java】synchronized与lock的区别
  6. LeetCode 701 二叉搜索树中的插入操作
  7. tableview 图片缓存
  8. python 文件名以数字开头_python-如何使XML标记以数字开头?
  9. yii2 restful的自定义api
  10. CF995C Leaving the Bar
  11. java2实用教程 第四版 上机实践4代码_Java2实用教程实验指导模版代码
  12. 深入浅出详解因子分析,附案例教学(全)
  13. 《网络基础》p84.interface gigabitethernet 0/0/0报错
  14. 东方财富通l2决策版_东方财富三季度报点评:券茅券商中的茅台!
  15. 「Jenkins」- No valid crumb was included in request for /ajaxExecutors @20210305
  16. [web开发]建立本地php MySQL Apache测试服务器
  17. 三面向对象分析之UML核心元素之参与者
  18. mac上使用qt,进行输入法的开发
  19. 对于青少年编程等级考试的认识
  20. AppiumDesktop学习总结

热门文章

  1. stm32f103系列开发板控制对数码管来显示自定义时间(自主学习)
  2. 01-初识sketch-sketch优势
  3. Python之列表推导式
  4. pytorch2-gym
  5. Linux中 ps命令详解
  6. FET细解:FET(IGFET、JFET、MESFET)、IGFET(MOSFET/MISFET、HFET)、HFET(MODFET、HIGFET)
  7. 什么是编程,学习编程的意义是?
  8. iOS基础 获取状态栏的高度
  9. 2.5 纳什均衡的存在性
  10. easyswoole连接mysql