IT Cloud. Eugeny Shtoltc
Чтение книги онлайн.

Читать онлайн книгу IT Cloud - Eugeny Shtoltc страница 49

СКАЧАТЬ -a

      … .. nodejs

      essh @ kubernetes-master: ~ / node-cluster / app $ ls nodejs /

      essh @ kubernetes-master: ~ / node-cluster / app $ ls -a nodejs /

      … .. .git

      essh @ kubernetes-master: ~ / node-cluster / app $ cd nodejs /

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ mv ../../server.js.

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git add server.js

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git commit -m 'test server'

      [master (root-commit) 46dd957] test server

      1 file changed, 7 insertions (+)

      create mode 100644 server.js

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git push -u origin master

      Counting objects: 3, done.

      Delta compression using up to 8 threads.

      Compressing objects: 100% (2/2), done.

      Writing objects: 100% (3/3), 408 bytes | 408.00 KiB / s, done.

      Total 3 (delta 0), reused 0 (delta 0)

      To https://source.developers.google.com/p/node-cluster-243923/r/nodejs

      * [new branch] master -> master

      Branch 'master' set up to track remote branch 'master' from 'origin'.

      Now it's time to set up image creation when creating a new version of the product: go to GCP -> Cloud Build -> triggers -> Create trigger -> Google Cloud source code repository -> NodeJS. Trigger tag type so that the image is not created during normal commits. I will change the name of the image from gcr.io/node-cluster-243923/NodeJS:$SHORT_SHA to gcr.io/node-cluster-243923/NodeJS:$SHORT_SHA and the timeout to 60 seconds. Now I'll commit and add a tag:

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ cp ../../Dockerfile.

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git add Dockerfile

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git add Dockerfile

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ cp ../../Dockerfile.

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git add Dockerfile

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git commit -m 'add Dockerfile'

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git remote -v

      origin https://source.developers.google.com/p/node-cluster-243923/r/nodejs (fetch)

      origin https://source.developers.google.com/p/node-cluster-243923/r/nodejs (push)

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git push origin master

      Counting objects: 3, done.

      Delta compression using up to 8 threads.

      Compressing objects: 100% (3/3), done.

      Writing objects: 100% (3/3), 380 bytes | 380.00 KiB / s, done.

      Total 3 (delta 0), reused 0 (delta 0)

      To https://source.developers.google.com/p/node-cluster-243923/r/nodejs

      46dd957..b86c01d master -> master

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git tag

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git tag -a v0.0.1 -m 'test to run'

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git push origin v0.0.1

      Counting objects: 1, done.

      Writing objects: 100% (1/1), 161 bytes | 161.00 KiB / s, done.

      Total 1 (delta 0), reused 0 (delta 0)

      To https://source.developers.google.com/p/node-cluster-243923/r/nodejs

      * [new tag] v0.0.1 -> v0.0.1

      Now, if we press the start trigger button, we will see the image in the Container Registry with our tag:

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ gcloud container images list

      NAME

      gcr.io/node-cluster-243923/nodejs

      gcr.io/node-cluster-243923/nodejs_cluster

      Only listing images in gcr.io/node-cluster-243923. Use –repository to list images in other repositories.

      Now if we just add the changes and the tag, the image will be created automatically:

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ sed -i 's / HOSTNAME \} / HOSTNAME \} \ n /' server.js

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git add server.js

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git commit -m 'fix'

      [master 230d67e] fix

      1 file changed, 2 insertions (+), 1 deletion (-)

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git push origin master

      Counting objects: 3, done.

      Delta compression using up to 8 threads.

      Compressing objects: 100% (3/3), done.

      Writing objects: 100% (3/3), 304 bytes | 304.00 KiB / s, done.

      Total 3 (delta 1), reused 0 (delta 0)

      remote: Resolving deltas: 100% (1/1)

      To https://source.developers.google.com/p/node-cluster-243923/r/nodejs

      b86c01d..230d67e master -> master

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git tag -a v0.0.2 -m 'fix'

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ git push origin v0.0.2

      Counting objects: 1, done.

      Writing objects: 100% (1/1), 158 bytes | 158.00 KiB / s, done.

      Total 1 (delta 0), reused 0 (delta 0)

      To https://source.developers.google.com/p/node-cluster-243923/r/nodejs

      * [new tag] v0.0.2 -> v0.0.2

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ sleep 60

      essh @ kubernetes-master: ~ / node-cluster / app / nodejs $ gcloud СКАЧАТЬ