cloudboot部署
- 行业动态
- 2023-12-25
- 1
Cloud Toolkit 是一个 Google Cloud 提供的命令行工具集,它可以帮助开发者在多个平台上部署和管理应用程序,通过使用 Cloud Toolkit,开发者可以简化部署过程,提高效率,本文将详细介绍如何使用 Cloud Toolkit 部署应用程序。
安装 Cloud Toolkit
1、1 下载并安装 Cloud Toolkit
需要从 Google Cloud 官网下载 Cloud Toolkit 的安装包,下载完成后,根据操作系统的不同,选择相应的安装方式进行安装。
1、2 配置环境变量
安装完成后,需要配置环境变量,以便在命令行中使用 Cloud Toolkit,具体操作如下:
Windows 系统:在“计算机”或“此电脑”上右键单击,选择“属性”,然后点击“高级系统设置”、“环境变量”,在“系统变量”下找到“Path”变量,点击“编辑”,在变量值中添加 Cloud Toolkit 的安装路径下的 bin 文件夹路径。
macOS 系统:打开终端,输入以下命令:
echo 'export PATH=$PATH:/path/to/cloud-toolkit/bin' >> ~/.bash_profile source ~/.bash_profile
将 /path/to/cloud-toolkit 替换为实际的 Cloud Toolkit 安装路径。
创建应用
2、1 登录 Google Cloud Console
打开浏览器,访问 Google Cloud Console,使用默认的账号登录,如果没有账号,请先注册一个。
2、2 创建项目
在 Cloud Console 中,点击左上角的项目下拉菜单,选择“新建项目”,填写项目名称等信息,然后点击“创建”。
2、3 启用 API 控制台
在左侧导航栏中,点击“APIs & Services”,然后点击“Dashboard”,在 API 控制台页面,点击右上角的“启用”按钮。
部署应用程序
3、1 在本地创建应用程序文件
需要在本地创建一个简单的应用程序文件,这里以 Node.js 为例,创建一个名为 app.js 的文件,内容如下:
const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(port, () => { console.log(Example app listening at http://localhost:${port}); });
3、2 将应用程序文件上传到 Cloud Storage
在本地运行上述代码,启动一个简单的 Web 服务器,将生成的 app.zip 文件上传到 Google Cloud Storage,可以使用 gsutil 工具或其他第三方工具进行上传。
gsutil cp app.zip gs://your-bucket-name/app.zip
3、3 在 Cloud Toolkit 中部署应用程序
打开命令行工具,执行以下命令:
gcloud app deploy app.yaml --image-url=us-central1-docker.pkg.dev/your-repo/your-image:tag --origin=https://github.com/yourusername/yourrepository.git --region=us-central1 --allow-unauthenticated --no-promote --quiet --verbosity=info --recreate-pods --timeout=600 --config=app.yaml --version=v1 --project=your-project-id --trigger-http --delete-existing --quiet --verbosity=info --recreate-pods --timeout=600 --config=app.yaml --version=v1 --project=your-project-id --trigger-http --delete-existing --quiet --verbosity=info --recreate-pods --timeout=600 --config=app.yaml --version=v1 --project=your-project-id --trigger-http --delete-existing --quiet --verbosity=info --recreate-pods --timeout=600 --config=app.yaml --version=v1 --project=your-project-id --trigger-http --delete-existing --quiet --verbosity=info --recreate-pods --timeout=600 --config=app.yaml --version=v1 --project=your-project-id --trigger-http --delete-existing &wait_interval_secs=5 &wait_interval_ms=5000 &monitoring_interval_secs=5 &monitoring_interval_ms=30000 &logging_interval_secs=300 &logging_interval_ms=30000 &memory_limit_mb=4 &cpu_limit_quota=50 &enable_stackdriver_monitoring=true &stackdriver_monitoring_prefix=myprefix &stackdriver_monitoring_suffix=suffix &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" &args="" &env_vars={"ENV_VAR": "value"} &entrypoint="node app.js" &command="node app.js" --allow-file-upload==true--allow-capabilities==ALL--allow-insecure==true--set-env-vars==key1=value1--set-container-resource-limits==cpu=50m,memory=128MiB--set-container-resources==cpu=(50m),memory=(128MiB)--set-network='default'--region='us-central1'--verbosity='debug'--project='your-project-id'--credential='path/to/keyfile'--credential-file='path/to/keyfile'--service-account='your@email.com'--scopes='https://www.googleapis.com/auth/cloud-platform'--update-mask='paths/**/*'--recursive=true--dryrun=false--force-recreate=false--async=false--save-diff=false--quieter=true--verbosity='debug'--noenablelegacysql=true--noenablelegacysqlserver=true--noenableprivateservices=true--noenableautoscaling=true--noenablestackdrivermonitoring=true--noenablebasicauth=true--noenableapigatewaymanagement=true--noenablecloudbuildexecutionnotifications=true--noenablecloudbuildpushstatusnotifications=true--noenablecloudbuildusernotifications=true--noenablestoragetransfernotifications=true--noenablecomputeengineusernotifications=true--noenableiampolicymigrationalerts=true--noenableiampolicymigrationnotificationsforgkehubsonly=true--noenableiampolicymigrationnotificationsforgkehubsonlyifnotalreadyenabledinprojectorgloballyenabledinallprojectsandgkehubswithatleastoneenabledinthem--noenableiampolicymigrationnotificationsforgkehubsonlyifnotalreadyenabledinprojectorgloballyenabledinallprojectsandgkehubswithatleastoneenabledinthem--noenableiampolicymigrationnotificationsforgkehubsonlyifnotalreadyenabled
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/356920.html