座舱申请编译服务器使用指南
人员信息表:构建人员信息
一、申请使用服务器权限
申请服务器权限地址:https://cloud.mioffice.cn/next/console/iam/permissionApply
- 用户名:默认
- 节点树:xiaomi.car.sc.build.devbuilder
- 权限角色:职能类/Developer
- 申请理由:“根据实际需要写”


二、登陆服务器
#1、登陆服务器 ssh 你的用户名@relay.xiaomi.com 例如ssh v-wuyuhao@relay.xiaomi.com
ssh 自己的公司邮箱前缀@relay.xiaomi.com
#2、使用小米人进行扫码登陆
#3、选择登陆的服务器之后回车
m1-car-sc-build-devbuilder01.bj.idc.xiaomi.com、m1-car-sc-build-devbuilder02.bj.idc.xiaomi.com
m1-car-sc-build-devbuilder03.bj.idc.xiaomi.com 、m1-car-sc-build-devbuilder04.bj.idc.xiaomi.com如果不知到自己可以使用哪台服务器可以看一下人员名单 构建人员信息
- ssh登陆堡垒机进行跳转

- 输入登陆所在的服务器之后回车:

- 登录成功

三、编译服务使用指南
-
申请完服务器权限,需要联系 @吴玉昊 配置用户环境(否则用户没有家目录、docker使用权限)
-
配置ssh相关密钥对(座舱研发——工程指南(总入口文档))
-
下载代码
- 注意:服务器已经集成代码环境,直接执行代码下载命令
- DCD: Tailor平台产品分支线下载命令 上游代码下载方式汇总
- XCD:XCD SM8650 android u 说明
-
使用docker构建环境
-
DCD: 直接复制命令并执行脚本
# 在容器第一次启动时将以下参数传入,镜像会调用脚本创建对应账户,创建的账户和buildmc使用相同的$HOME所以不用担心权限问题。 # -i 选项代表 用户uid # -u 选项代表 用户名称 docker rm -f $(whoami)_watt > dev/null | true docker run \ --network=host \ --privileged \ --rm \ --name $(whoami)_watt \ -v $HOME:/home/buildmc \ -it \ micr.cloud.mioffice.cn/micar-build-ci/8295_ubuntu1804:user \ -i $(id -u) -u docker -
XCD: 下载构建脚本并执行
wget https://cnbj1-inner-fds.api.xiaomi.net/repos/tools/docker_run.sh bash docker_run.sh
-
-
执行构建命令进入项目目录,根据不同项目执行不同命令
-
其他
- 下载文件采用https://relay.xiaomi.com/fs方式通过网页下载或者 通过 Relay-SFTP 上传/下载文件
- 服务器禁止连接外网,禁止打洞
- 每人使用空间为2TB有增加容量需求可以联系 @吴玉昊 进行扩容
- 机房所在地为北京,所以其他地区小伙伴从服务器copy文件时间可能会延长
四、注意事项
1、服务器用户id和镜像id不一致问题
Docker 镜像:micr.cloud.mioffice.cn/micar-build-ci/8295_ubuntu1804:user
解决办法:docker镜像新增一个启动脚本,在第一次启动容器时,将服务器用户信息以参数的形式传入,镜像会调用脚本创建对应账户,所创建的账户和buildmc使用相同的$HOME所以不用担心权限问题。
如果没有传入参数,则会使用默认用户buildmc
镜像使用方法:
# 在容器第一次启动时将以下参数传入,镜像会调用脚本创建对应账户,创建的账户和buildmc使用相同的$HOME所以不用担心权限问题。
# -i 选项代表 用户uid
# -u 选项代表 用户名称
docker rm -f $(whoami) | true
docker run \
--network=host \
--privileged \
--rm \
--name $(whoami) \
-v $HOME:/home/buildmc \
-it \
micr.cloud.mioffice.cn/micar-build-ci/8295_ubuntu1804:user \
-i $(id -u) -u docker2、maven无法下载依赖
3、用户uid 无法查到正在定位(已解决)
初步判断,信息不同步导致,具体如何同步
问题所在:用户登录不是使用本机的用户管理系统,会有同步延迟大概2~3会同步至本机。

