Why the gcloud components update command always show restarting command - google-app-engine

When I want to deploy my Go app to App Engine, I found that I have to install the app-engine-go. And it even said the installation is on a new window, no window popped out.
https://github.com/ChihchengHsieh/ProblemsScreenShot/blob/master/image-2.png
C:\go-work\src\orderFunc>gcloud app deploy
The component [app-engine-go] is required for staging this
application.
Restarting command:
$ gcloud components install app-engine-go
Installing component in a new window.
Please re-run this command when installation is complete.
$ gcloud app deploy
When I run the command gcloud components install app-engine-go and gcloud components update, it shows:
https://github.com/ChihchengHsieh/ProblemsScreenShot/blob/master/image.png
C:\go-work\src\orderFunc>gcloud components install app-engine-go
Restarting command:
$ gcloud components install app-engine-go
C:\go-work\src\orderFunc>gcloud components update
Restarting command:
$ gcloud components update
C:\go-work\src\orderFunc>gcloud components install app-engine-go
Restarting command:
$ gcloud components install app-engine-go
I already tried reinstalling the google cloud SDK, but it's the same.
I expect it can show some installation process.

I was trying to deploy a quickstart for .NET Google App Engine application and I run into the same issue. My issue was that I needed to execute $ gcloud components install beta to be able to deploy my GAE .NET app. And I was getting the same behavior as yours. PowerShell would print
Restarting command:
$ gcloud components install beta
but nothing actually happened. No window popup nor installation progress in the same window where I run the command. Also non of the other commands for installing or updating components were working. I could only list them with $ gcloud components list, but not install nor update any of them.
SOLUTION
I have noticed that if you run PowerShell with administrative privileges, it will open a window in C:\Windows\system32 directory. If you execute the command there, then another window will pop up and will proceed with installation or update of gcloud components. However if you cd into different directory the behavior will be as mentioned in this issue.
So to resolve this:
Run PowerShell as Administrative
If the directory is different than what I described above execute $ C:\Windows\system32 otherwise go to Step 3
Execute any command you want for gcloud components. e.g. $ gcloud components update or gcloud components install beta etc.
A window should popup and proceed with the installation or update of the components.

For me a working solution in PowerShell was this:
PS C:\Users\project> $Env:CLOUDSDK_PYTHON = gcloud components copy-bundled-python
After running this command (setting the CLOUDSDK_PYTHON envrionment varible) the command would work without opening another window:
PS C:\Users\project> gcloud components install beta
Your current Google Cloud CLI version is: 413.0.0
Installing components from version: 413.0.0
+---------------------------------------------+
| These components will be installed. |
+----------------------+------------+---------+
| Name | Version | Size |
+----------------------+------------+---------+
| gcloud Beta Commands | 2023.01.06 | < 1 MiB |
+----------------------+------------+---------+
For the latest full release notes, please visit:
https://cloud.google.com/sdk/release_notes
Do you want to continue (Y/n)?
I've also found an issue on the Google issue tracker that looks like it could be related on first glance, but it's closed as not reproducable, so if anyone knows what exactly reproduces this problem share it with Google in this issue

Related

React Deployment on IIS server

I would like to deploy my react app to IIS and I tried a step by step guide.
I already tried a create-react-app and I already added a new website but when I run It says:
this site can't reach
.
I tried that way but some steps are not understood.=>create-react-app on IIS 10
I am newbie and May I know step by step if possible.
Thanks.
I suggest you could try belwo steps to host a reasct app on the IIS.
If you don't have the react app, I suggest you could install the npm and generate a react app for testing.
1.Open cmd and locate a folder by using cd yourfoldername
2.Run below command to add the package
npm i -g create-react-app
3.Run below command to create the react app in the folder, wait for creating the application
create-react-app my-app
Build the project to production folder.
npm run build
5.Open IIS management console and create a new web sites and use the build path as the physical path. for example: D:\ReactAppTest\my-app\build
Notice: You should pay attention to your port number.
Then you could use that port number to access your react application. For example:
http://localhost:9965/

Difference between 'goapp deploy' and 'appcf.py' to deploy my app on Google App Engine?

I don't understand the difference between
goapp deploy -application <YOUR_PROJECT_ID> myapp/
and
appcfg.py -A <YOUR_PROJECT_ID_> -V v1 update myapp/
when trying to deploy my app in google app engine. Can somebody enlighten me please?
Documented in Uploading, Downloading, and Managing a Go App:
goapp deploy wraps the appcfg.py python tool provided in the SDK. You can also invoke this tool directly if you need greater control over the deployment.
goapp deploy is equivalent to appcfg.py update myapp/.
These commands get application ID and other configuration from app.yaml automatically. You can use -application param of goapp, or -A of appcfg.py to override the application ID.
So goapp deploy calls appcfg.py under the hood, it is a convenient method to hide appcfg.py.
goapp deploy -application <YOUR_PROJECT_ID> myapp/
Deploys the application located in the myapp folder. Configuration will be read from the app.yaml file that must be at myapp/app.yaml. The command also overrides the application ID (if present in app.yaml), and <YOUR_PROJECT_ID> will be used instead.
appcfg.py -A <YOUR_PROJECT_ID> -V v1 update myapp/
This also deploys the application, but the -V overrides the version that may be present in myapp/app.yaml, and will use the version v1. -A is used to override the ID from app.yaml, will be <YOUR_PROJECT_ID> in this case.
goapp is a general tool for the whole Go-on-App-Engine workflow from build to deployment; you can use the same tool to install dependences (get), build your app, run locally (serve) and then deploy it (as well as run tests, format code, etc).
Some of these wrap other tools: goapp fmt probably just wraps gofmt, whilst goapp deploy just wraps appcfg.py update (see docs)

ERROR: (gcloud.preview.app) Invalid choice: 'run'

I'm trying to get the golang hello-world bigtable example running locally locally and running into this issue. When I run gcloud preview app run app.yaml from the bigtable-hello directory, I get the following error:
➜ bigtable-hello gcloud preview app run app.yaml
Usage: gcloud
preview app [optional flags] group may be
modules command may be deploy | gen-config
(BETA) This set of commands allows you to deploy your app, manage your existing deployments, and also run your app locally. These
commands replace their equivalents in the appcfg tool.
global flags: Run gcloud -h for a description of flags available
to all commands.
command groups: modules (BETA) View and manage your
App Engine modules.
commands: deploy (BETA) Deploy the local code
and/or configuration of
your app to App Engine. gen-config (BETA) Generate missing configuration files for a
source directory.
ERROR: (gcloud.preview.app) Invalid choice: 'run'.
Valid choices are [deploy, gen-config, gen-repo-info-file, instances,
modules, services, versions].
I've put the demo files into my local go directory like below:
app run is no longer part of the gcloud SDK as can be seen under all the possible command trees:
gcloud alpha has no app command group
gcloud app has no run command
gcloud beta has no run command
gcloud preview app has no app command group
This was removed with version 92.0.0 released on January 13, 2016. That changelog recommends using dev_appserver.py instead. An example can be found in Running the local development server.
> dev_appserver.py src/github.com/jamescharlesworth/bigtable-hello
Other flags and options can be found in dev_appserver.py's documentation in Local Development Server Options.

Using gcloud on Travis CI

I have gcloud installed and working and a service account gets also activated. I run the following and get a success(?):
$ gcloud auth activate-service-account "${GAE_CLIENT_ACCOUNT}" --key-file "${GAE_CLIENT_KEY_JSON_FILE}"
Activated service account credentials for: [xxxxx#developer.gserviceaccount.com]
Then I run this:
$ gcloud preview app deploy app.yaml --project "${GAE_PROJECT_ID}" --quiet --version "${GAE_PROJECT_VERSION}"
You are about to deploy the following modules:
- ricochet-robots/default/dev From: [/home/travis/build/ricochetrobots/ricochetrobots-landing/app.yaml]
Updating module [default]...Go to the following link in your browser:
https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&client_id=xxxxxxxx.apps.googleusercontent.com&access_type=offline
Updating module [default].../
As you can see, it prompts me to follow the link and do an oauth. Because I'm on a ci server, it's not possible to follow the link.
How kan I suppress that? Or is there a totally diffrent way of deploying the app automatically.
This is a known issue in version 0.9.61.
For now, you can work around by pinning to a previous version:
gcloud config set component_manager/fixed_sdk_version 0.9.60
gcloud components update
Since you're running in a CI server, you can also set the following environment variable, if you run gcloud components update in your script. This may be an easier fix, depending on your CI server.
CLOUDSDK_COMPONENT_MANAGER_SNAPSHOT_URL=https://dl.google.com/dl/cloudsdk/release/components-v0.9.60.json
Running gcloud preview app deploy --set-default using a service account has the same issue in versions 0.9.57 through 0.9.62. If you'd like to use this command, you can pin to 0.9.56.
We're targeting a fix for version 0.9.63 or shortly thereafter. Follow the issue on the gcloud bug tracker for more updates.
EDIT: This issue was fixed in version 0.9.63.

gcloud get-logs command not working

I was trying to download logs from a GAE app using the gcloud cli
In the documentation the command I was supposed to use was:
gcloud preview app get-logs --version 1 default mylogs.txt
However, when running this command I get the following error:
ERROR: (gcloud.preview.app) Invalid choice: 'get-logs'. Did you mean 'deploy'?
All the tools are installed and there's nothing to update using gcloud components list and gcloud components update
Also I have authenticated and set the project
gcloud auth login
gcloud config set project mytestproject
This command moved to go underneath the modules command group, and unfortunately the documentation lagged behind.
The equivalent command is
$ gcloud preview app modules get-logs --version 1 default mylogs.txt
Sorry for the confusion!
You can also try appcfg.py request_logs myapp/ mylogs.txt to download the logs for your application which is running in App Engine.
This Command only works for App Engine but not for Managed VM's.Refer to the link https://cloud.google.com/appengine/docs/python/tools/uploadinganapp#Python_Downloading_logs

Resources