Am a seasoned Full stack java developer, have close to 11 years experience in developing software systems (both frontend and backend). Love to share my knowledge with community. Happy coding!
Angular Raleigh Meetup
Hey, Am Udhay (OO-dhy)
Clone this repo - https://github.com/askudhay/pounds-to-kg-skeleton
If you want to begin with Skeleton app, and add your own piece of code to create Pounds to Kgs converter logic.
Otherwise, working code here - https://gitlab.com/udhayg/pounds-to-kg
Unit test your Angular code by running below command:
Before running that, make sure you have written Unit tests for Components, Pipes, Directives & Services.
ng test --code-coverage
// App runs in development mode, that works for debugging. ng build // App doesn't run in dev mode ng build --prod
Build Angular code using below command, that generates artifacts to be deployed to Cloud.
dist/ngpoundtokg - Artifacts generate under this folder.
Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day.
Continuous Delivery (CD) is the natural extension of Continuous Integration: an approach in which teams ensure that every change to the system is releasable, and that we can release any version at the push of a button.
runtime: python27 api_version: 1 threadsafe: true handlers: - url: / static_files: dist/ngapp/index.html upload: dist/ngapp/index.html - url: / static_dir: dist/ngapp skip_files: - e2e/ - node_modules/ - src/ - ^(.*/)?\..*$ - ^(.*/)?.*\.json$ - ^(.*/)?.*\.md$ - ^(.*/)?.*\.yaml$ - ^LICENSE
gcloud sdk uploads files per this YAML conf.
stages: - build_angular - cloud_deploy - deploy cache: paths: - ./node_modules generate_artifact: image: node:12-alpine stage: build_angular script: - npm install -g @angular/cli --silent - npm install --silent - ng build --prod --output-hashing none artifacts: paths: - dist/ gcloud_deploy: image: google/cloud-sdk:alpine stage: cloud_deploy script: - echo $DEPLOY_KEY_FILE_PRODUCTION > /tmp/$CI_PIPELINE_ID.json - gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json - gcloud --project $PROJECT_ID_PRODUCTION app deploy --verbosity=debug
GitLab orchestrates the pipeline execution based on this conf.
Push the code to GitLab, this will trigger pipeline and deploy the code to Google Cloud - App Engine.
By Udhayakumar G
This is my recent talk for Angular Raleigh Meetup. You will understand how to build, test and deploy Angular app to Google Cloud Platform using GitLab. Feel free to share this deck with your friends / colleagues. Any questions? Reach me @askudhay on Twitter. Happy learning! Thanks.