У меня есть приложение Java, которое развертывается в Google App Engine и работает при развертывании из командной строки. Сборка показывает все зеленые, когда я запускаю его из Cloud Build. Когда я нажимаю на URL, я получаю сообщение Ошибка: не найден. Обратите внимание, что для этого поста я заменил имя моего проекта GAE и имя службы, которое в нем работает.
Вот команды, которые я запускаю из оболочки:
git clone git@github.com:johncrider/MyProj
cd MyProj/
/Applications/apache-maven-3.6.0/bin/mvn clean package
gcloud app deploy src/main/webapp/WEB-INF/appengine-web.xml
Вот содержимое cloudbuild.yaml, которое дает мне зеленый свет в Cloud Build:
steps:
# Decrypt the file containing the key
- name: 'gcr.io/cloud-builders/gcloud'
args:
- kms
- decrypt
- --ciphertext-file=id_rsa.enc
- --plaintext-file=/root/.ssh/id_rsa
- --location=global
- --keyring=my-keyring
- --key=github-key
volumes:
- name: 'ssh'
path: /root/.ssh
# Set up git with key and domain.
- name: 'gcr.io/cloud-builders/git'
entrypoint: 'bash'
args:
- '-c'
- |
chmod 600 /root/.ssh/id_rsa
cat <<EOF >/root/.ssh/config
Hostname github.com
IdentityFile /root/.ssh/id_rsa
EOF
mv known_hosts /root/.ssh/known_hosts
volumes:
- name: 'ssh'
path: /root/.ssh
# Use git clone.
- name: 'gcr.io/cloud-builders/git'
args:
- clone
- git@github.com:johncrider/MyProj
volumes:
- name: 'ssh'
path: /root/.ssh
# set default project
- name: "gcr.io/cloud-builders/gcloud"
args: ["config", "set", "project", "GAEProject"]
# build maven package
- name: 'gcr.io/cloud-builders/mvn'
args: ['clean', 'package', '-DskipTests']
volumes:
- name: 'ssh'
path: /root/.ssh
#Deploy to GAE
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy", "src/main/webapp/WEB-INF/appengine-web.xml"]
volumes:
- name: 'ssh'
path: /root/.ssh
timeout: "1600s"
Последний шаг - Шаг 5. Вот результаты этого шага из журналов сборки облака.
Starting Step #5
Step #5: Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #5: Services to deploy:
Step #5:
Step #5: descriptor: [/workspace/src/main/webapp/WEB-INF/appengine-web.xml]
Step #5: source: [/workspace/src/main/webapp]
Step #5: target project: [gaeproject]
Step #5: target service: [myproject]
Step #5: target version: [20190110t151311]
Step #5: target url: [https://myproject-dot-gaeproject.appspot.com]
Step #5:
Step #5:
Step #5: Do you want to continue (Y/n)?
Step #5: Beginning deployment of service [myproject]...
Step #5: #============================================================#
Step #5: #= Uploading 0 files to Google Cloud Storage =#
Step #5: #============================================================#
Step #5: File upload done.
Step #5: Updating service [myproject]...
Step #5: ............................................................done.
Step #5: Setting traffic split for service [myproject]...
Step #5: .............done.
Step #5: Deployed service [myproject] to [https://myproject-dot-gaeproject.appspot.com]
Step #5:
Step #5: You can stream logs from the command line by running:
Step #5: $ gcloud app logs tail -s myproject
Step #5:
Step #5: To view your application in the web browser run:
Step #5: $ gcloud app browse -s myproject
Finished Step #5
Запись журнала при запуске службы не показывает ошибок.