ketan_patel@cloudshell:~/ketantest (new-user-learning)$ ls
app.yaml main.py main_test.py
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ cat app.yaml
runtime: python27
api_version: 1
threadsafe: true
service : ketanapp1
handlers:
- url: /.*
script: main.app
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ cat main.py
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers["Content-Type"] = "text/plain"
self.response.write("Hello, main.py ketan World!")
app = webapp2.WSGIApplication(
[
("/", MainPage),
],
debug=True,
)
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ cat main_test.py
import webtest
import main
def test_get():
app = webtest.TestApp(main.app)
response = app.get("/")
assert response.status_int == 200
assert response.body == "Hello, World of Storage!"
ketan_patel@cloudshell:~/ketantest (new-user-learning)$
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ ls
app.yaml main.py main_test.py
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ dev_appserver.py app.yaml
INFO 2023-08-23 04:36:07,865 devappserver2.py:321] Skipping SDK update check.
WARNING 2023-08-23 04:36:08,094 simple_search_stub.py:1196] Could not read search indexes from /tmp/appengine.None.ketan_patel/search_indexes
INFO 2023-08-23 04:36:08,097 <string>:398] Starting API server at: http://localhost:44537
INFO 2023-08-23 04:36:08,103 dispatcher.py:276] Starting module "ketanapp1" running at: http://localhost:8080
INFO 2023-08-23 04:36:08,105 admin_server.py:70] Starting admin server at: http://localhost:8000
WARNING 2023-08-23 04:36:08,106 devappserver2.py:417] No default module found. Ignoring.
INFO 2023-08-23 04:36:11,126 instance.py:294] Instance PID: 400
INFO 2023-08-23 04:36:19,522 module.py:862] ketanapp1: "GET /?authuser=0&redirectedPreviously=true HTTP/1.1" 200 27
INFO 2023-08-23 04:36:22,421 instance.py:294] Instance PID: 407
Now open "Web Preview" and verify the app is running:
You will see " "self.response.write("Hello, main.py ketan World!")" in the web preview.
To end do CTRL C in cloud shell.
Now open
^CINFO 2023-08-23 04:37:05,590 shutdown.py:50] Shutting down.
INFO 2023-08-23 04:37:05,590 stub_util.py:360] Applying all pending transactions and saving the datastore
INFO 2023-08-23 04:37:05,590 stub_util.py:363] Saving search indexes
ketan_patel@cloudshell:~/ketantest (new-user-learning)$
DEPLOY APP:
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ pwd
/home/ketan_patel/ketantest
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ ls -l
total 16
-rw-r--r-- 1 ketan_patel ketan_patel 111 Aug 22 21:02 app.yaml
-rw-r--r-- 1 ketan_patel ketan_patel 285 Aug 22 21:04 main.py
-rw-r--r-- 1 ketan_patel ketan_patel 710 Aug 23 04:36 main.pyc
-rw-r--r-- 1 ketan_patel ketan_patel 205 Aug 22 21:03 main_test.py
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ gcloud app deploy
Services to deploy:
descriptor: [/home/ketan_patel/ketantest/app.yaml]
source: [/home/ketan_patel/ketantest]
target project: [new-user-learning]
target service: [ketanapp1]
target version: [20230823t044809]
target url: [https://ketanapp1-dot-new-user-learning.uw.r.appspot.com]
target service account: [new-user-learning@appspot.gserviceaccount.com]
Do you want to continue (Y/n)? Y
Beginning deployment of service [ketanapp1]...
Uploading 3 files to Google Cloud Storage
33%
67%
100%
100%
File upload done.
Updating service [ketanapp1]...done.
Setting traffic split for service [ketanapp1]...done.
Deployed service [ketanapp1] to [https://ketanapp1-dot-new-user-learning.uw.r.appspot.com]
You can stream logs from the command line by running:
$ gcloud app logs tail -s ketanapp1
To view your application in the web browser run:
$ gcloud app browse -s ketanapp1
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ gcloud app browse -s ketanapp1
Did not detect your browser. Go to this link to view your app:
https://ketanapp1-dot-new-user-learning.uw.r.appspot.com
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ curl https://ketanapp1-dot-new-user-learning.uw.r.appspot.com/
Hello, main.py ketan World!ketan_patel@cloudshell:~/ketantest (new-user-learning)$
CLICK ABOVE URL AND IT WILL OPEN WITH APPENGINE APP:
UPDATE THE APP:
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ ls -ltr
total 16
-rw-r--r-- 1 ketan_patel ketan_patel 111 Aug 22 21:02 app.yaml
-rw-r--r-- 1 ketan_patel ketan_patel 205 Aug 22 21:03 main_test.py
-rw-r--r-- 1 ketan_patel ketan_patel 285 Aug 22 21:04 main.py
-rw-r--r-- 1 ketan_patel ketan_patel 710 Aug 23 04:36 main.pyc
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ vi main.py
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ cat main.py
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers["Content-Type"] = "text/plain"
self.response.write("Hello, main.py ketan World from Moon!")
app = webapp2.WSGIApplication(
[
("/", MainPage),
],
debug=True,
)
ketan_patel@cloudshell:~/ketantest (new-user-learning)$
TEST APPLICATION BEFORE DEPLOY USING "dev_appserver.py":
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ dev_appserver.py app.yaml
INFO 2023-08-23 16:37:38,197 devappserver2.py:321] Skipping SDK update check.
WARNING 2023-08-23 16:37:38,418 simple_search_stub.py:1196] Could not read search indexes from /tmp/appengine.None.ketan_patel/search_indexes
INFO 2023-08-23 16:37:38,421 <string>:398] Starting API server at: http://localhost:41161
INFO 2023-08-23 16:37:38,427 dispatcher.py:276] Starting module "ketanapp1" running at: http://localhost:8080
INFO 2023-08-23 16:37:38,428 admin_server.py:70] Starting admin server at: http://localhost:8000
WARNING 2023-08-23 16:37:38,429 devappserver2.py:417] No default module found. Ignoring.
INFO 2023-08-23 16:37:41,443 instance.py:294] Instance PID: 421
INFO 2023-08-23 16:37:53,034 module.py:862] ketanapp1: "GET /?authuser=0&redirectedPreviously=true HTTP/1.1" 200 37
INFO 2023-08-23 16:37:55,937 instance.py:294] Instance PID: 428
^CINFO 2023-08-23 16:38:05,300 shutdown.py:50] Shutting down.
INFO 2023-08-23 16:38:05,300 stub_util.py:360] Applying all pending transactions and saving the datastore
INFO 2023-08-23 16:38:05,301 stub_util.py:363] Saving search indexes
ketan_patel@cloudshell:~/ketantest (new-user-learning)$
DEPLOY THE APP:
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ gcloud app deploy
Services to deploy:
descriptor: [/home/ketan_patel/ketantest/app.yaml]
source: [/home/ketan_patel/ketantest]
target project: [new-user-learning]
target service: [ketanapp1]
target version: [20230823t163813]
target url: [https://ketanapp1-dot-new-user-learning.uw.r.appspot.com]
target service account: [new-user-learning@appspot.gserviceaccount.com]
Do you want to continue (Y/n)? Y
Beginning deployment of service [ketanapp1]...
Uploading 1 file to Google Cloud Storage
100%
100%
File upload done.
Updating service [ketanapp1]...done.
Setting traffic split for service [ketanapp1]...done.
Deployed service [ketanapp1] to [https://ketanapp1-dot-new-user-learning.uw.r.appspot.com]
You can stream logs from the command line by running:
$ gcloud app logs tail -s ketanapp1
To view your application in the web browser run:
$ gcloud app browse -s ketanapp1
ketan_patel@cloudshell:~/ketantest (new-user-learning)$
ketan_patel@cloudshell:~/ketantest (new-user-learning)$ curl https://ketanapp1-dot-new-user-learning.uw.r.appspot.com/
Hello, main.py ketan World from Moon!
ketan_patel@cloudshell:~/ketantest (new-user-learning)$
No comments:
Post a Comment