Bazel build Remote-caching

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 PHP
        index 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

你可能感兴趣的:(DevOps,基础设施-运维,1024程序员节)