markosamuli.gcloud

安装 Google Cloud SDK

Ansible 质量分数 Ansible 角色 GitHub 发布 许可证

分支 流水线
master master

这个 Ansible 角色用于在 Ubuntu 和 macOS 开发机器上安装 Google Cloud SDK。

请勿在生产服务器上使用此角色。

安装位置

该角色默认将 Cloud SDK 安装到 ~/google-cloud-sdk

要安装到其他位置,请更改 gcloud_install_dir 变量。它将被用作相对于用户主目录的安装目录。

例如,要安装到 ~/opt/google-cloud-sdk,您可以设置:

# 安装到 ~/opt/google-cloud-sdk
gcloud_install_dir: "/opt"

为向后兼容,该角色会自动检测已存在的安装在 ~/opt/google-cloud-sdk 中,如果找到则默认使用此位置。

优先使用 Python 3

当前 Google Cloud SDK 安装程序会查找可用的 Python 版本,并优先选择 python2

您可以在安装时启用优先选择 python3

gcloud_prefer_python3: true

使用包管理器安装

要从可用的包管理器安装 Cloud SDK,请在 Ansible 配置中启用它:

# 从 APT 安装 Cloud SDK
gcloud_install_from_package_manager: true

这仅在支持 APT 仓库的 Debian 系统上受支持。

对 Shell 配置文件的更改

如果在您的主目录中存在 .bashrc.zshrc 文件,本角色将对其进行更改。它会在进行更改时解析您的 dotfiles 中的任何符号链接。

所有安装选项的 gcloud 命令的代码完成将被加载。

如果您管理自己的 Shell 脚本 .dotfiles 或正在使用框架,您应将 gcloud_setup_shell 设置为 false,并自行更新这些文件以保持它们的整洁。

# 请不要修改我的 dotfiles!
gcloud_setup_shell: false

手动配置 bash

当使用存档安装到 ~/google-cloud-sdk 时,请参考 .bashrc 配置:

if [ -d "$HOME/google-cloud-sdk" ]; then
  export CLOUDSDK_ROOT_DIR="$HOME/google-cloud-sdk"
  # 更新 Google Cloud SDK 的 PATH。
  source $CLOUDSDK_ROOT_DIR/path.bash.inc
  # 启用 gcloud 的 bash 完成。
  source $CLOUDSDK_ROOT_DIR/completion.bash.inc
fi

如果您的 .bashrc 已经有 export CLOUDSDK_ROOT_DIR= 行,则不会修改文件。

当从 APT 安装时,请参考 .bashrc 配置:

if [ -d "/usr/share/google-cloud-sdk" ]; then
  # 启用 gcloud 的 zsh 完成。
  source /usr/share/google-cloud-sdk/completion.bash.inc
fi

手动配置 zsh

当使用存档安装到 ~/google-cloud-sdk 时,请参考 .zshrc 配置:

if [ -d "$HOME/google-cloud-sdk" ]; then
  export CLOUDSDK_ROOT_DIR="$HOME/google-cloud-sdk"
  # 更新 Google Cloud SDK 的 PATH。
  source $CLOUDSDK_ROOT_DIR/path.zsh.inc
  # 启用 gcloud 的 zsh 完成。
  source $CLOUDSDK_ROOT_DIR/completion.zsh.inc
fi

如果您的 .zshrc 已经有 export CLOUDSDK_ROOT_DIR= 行,则不会修改文件。

当从 APT 安装时,请参考 .zshrc 配置:

if [ -d "/usr/share/google-cloud-sdk" ]; then
  # 启用 gcloud 的 zsh 完成。
  source /usr/share/google-cloud-sdk/completion.zsh.inc
fi

更新版本

在 Ansible 变量中更新 Cloud SDK 版本:

make update

编码风格

安装 pre-commit 钩子并验证编码风格:

make lint

运行测试

在 Ubuntu 和 Debian 上使用 Docker 运行测试:

make test

许可证

贡献

安装脚本基于 ansible/role-install-gcloud Ansible 角色 由 @chouseknecht 提供。

作者

关于项目

Install Google Cloud SDK

安装
ansible-galaxy install markosamuli.gcloud
许可证
mit
下载
8.2k
拥有者
Random hacker. Engineering at @echo-health