Learn and Be Curious










'Cloud > devops' 카테고리의 다른 글

JIRA  (0) 2017.04.13
Toolchain & Active Deploy  (0) 2017.04.11
Availability Monitoring  (0) 2017.04.11
Pagerduty를 활용하여, 장애발생시 SMS알림받기  (0) 2017.04.11
slack webhook  (0) 2017.04.11

JIRA

Cloud/devops2017. 4. 13. 11:49




a.    Jira’s account base URL: https://jmyung.atlassian.net
b.    Jira’s Project Name: My-bluemix-toolchain-project-myung
c.    Jira’s Key: MYB
















































'Cloud > devops' 카테고리의 다른 글

Simple Orders API toolchain  (0) 2017.06.09
Toolchain & Active Deploy  (0) 2017.04.11
Availability Monitoring  (0) 2017.04.11
Pagerduty를 활용하여, 장애발생시 SMS알림받기  (0) 2017.04.11
slack webhook  (0) 2017.04.11



38/56














UI말고 수작업으로 해보기

https://www.ibm.com/blogs/bluemix/2015/10/getting-started-with-bluemix-active-deploy/

https://console.ng.bluemix.net/docs/services/ActiveDeploy/tutorial.html#tutorial

'Cloud > devops' 카테고리의 다른 글

Simple Orders API toolchain  (0) 2017.06.09
JIRA  (0) 2017.04.13
Availability Monitoring  (0) 2017.04.11
Pagerduty를 활용하여, 장애발생시 SMS알림받기  (0) 2017.04.11
slack webhook  (0) 2017.04.11




'Cloud > devops' 카테고리의 다른 글

JIRA  (0) 2017.04.13
Toolchain & Active Deploy  (0) 2017.04.11
Pagerduty를 활용하여, 장애발생시 SMS알림받기  (0) 2017.04.11
slack webhook  (0) 2017.04.11
4-1 devops  (0) 2017.04.10

Pagerduty를 활용하여, 장애발생시 SMS알림받기
































'Cloud > devops' 카테고리의 다른 글

JIRA  (0) 2017.04.13
Toolchain & Active Deploy  (0) 2017.04.11
Availability Monitoring  (0) 2017.04.11
slack webhook  (0) 2017.04.11
4-1 devops  (0) 2017.04.10

slack webhook

Cloud/devops2017. 4. 11. 10:58

http://seotory.tistory.com/24


















'Cloud > devops' 카테고리의 다른 글

JIRA  (0) 2017.04.13
Toolchain & Active Deploy  (0) 2017.04.11
Availability Monitoring  (0) 2017.04.11
Pagerduty를 활용하여, 장애발생시 SMS알림받기  (0) 2017.04.11
4-1 devops  (0) 2017.04.10

4-1 devops

Cloud/devops2017. 4. 10. 10:44

ALM (Application Lifecycle Management)

- Git

- Jenkins

- EPS




Devops

- Deployment Automation

  : ansible (MSA의 config 구성), 런덱

- Monitoring (Chatops)



Jira

Confluence


https://www.ansible.com/



IBM POV

툴은 항상 변화할 수 있기때문에 프로세스나 문화가 더 중요

클라우드로 가기 위해서는 devops필요

Infrastructure as code

Lean start-up

 - MVP (Minimal viable product)

   ex) 8주만에 프로젝트를 마침. 시작전에 6시간 해커톤

Agile 

  - early customer involvement

Delievery Automation : 기존시스템과 통합하는데 한달반 밖에 안걸림. (SoR, SoE)



https://www.ibm.com/devops/method




Toolchain









Session 3478


https://developer.ibm.com/devops-services/2016/06/16/open-toolchain-with-ibm-bluemix-devops-services/











http://ibm.biz/DevOpsSimpleOrderToolchain












Target: https://api.ng.bluemix.net
Creating service instance myMicroservicesCloudant in org jmyung / space dev as human537@nate.com...
FAILED
Server error, status code: 502, error code: 10001, message: Service broker error: {"description"=>"Error 400 received from broker url https://cloudantbroker.ng.bluemix.net/v2/service_instances/01c12dd6-c6eb-4d55-a542-6fb878218882?accepts_incomplete=true"}

Finished: FAILED



성공

Target: https://api.ng.bluemix.net
Creating service instance myMicroservicesCloudant in org jmyung / space dev as human537@nate.com...
OK
Service myMicroservicesCloudant already exists
Using manifest file /home/pipeline/9606dcce-3bb7-49b4-b8f2-9726cce2449a/manifest.yml

Creating app dev-catalog-api-toolchain-lab_timestamp-myung in org jmyung / space dev as human537@nate.com...
OK

Creating route dev-catalog-api-toolchain-lab-timestamp-myung.mybluemix.net...
OK

Binding dev-catalog-api-toolchain-lab-timestamp-myung.mybluemix.net to dev-catalog-api-toolchain-lab_timestamp-myung...
OK

Uploading dev-catalog-api-toolchain-lab_timestamp-myung...
Uploading app files from: /home/pipeline/9606dcce-3bb7-49b4-b8f2-9726cce2449a
Uploading 33.4K, 27 files

                             
Done uploading
OK
Binding service myMicroservicesCloudant to app dev-catalog-api-toolchain-lab_timestamp-myung in org jmyung / space dev as human537@nate.com...
OK

Starting app dev-catalog-api-toolchain-lab_timestamp-myung in org jmyung / space dev as human537@nate.com...
Downloading app package...
Downloaded app package (43.6K)
Staging...
-----> IBM SDK for Node.js Buildpack v3.11-20170303-1144
       Based on Cloud Foundry Node.js Buildpack v1.5.24
       NPM_CONFIG_LOGLEVEL=error
       NODE_ENV=production
       engines.npm (package.json):   3.5.3
       
       Installing IBM SDK for Node.js (4.8.0) from cache
       Downloading and installing npm 3.5.3 (replacing version 2.15.11)...
-----> Checking and configuring service extensions before installing dependencies
-----> Building dependencies
       Installing node modules (package.json + shrinkwrap)
       ├── amdefine@1.0.1
       │ │ └── minimatch@3.0.3
       │ ├── lodash@4.17.4
       │   ├── core-util-is@1.0.2
       │   ├── isarray@1.0.0
       │   └── string_decoder@0.10.31
       ├─┬ archiver-utils@1.3.0
       │ ├─┬ glob@7.1.1
       │ ├── graceful-fs@4.1.11
       │   └── isarray@1.0.0
       ├── array-find-index@1.0.2
       ├── arrify@1.0.1
       ├── assertion-error@1.0.2
       ├── balanced-match@0.4.2
       ├─┬ body-parser@1.12.4
       │ ├── iconv-lite@0.4.8
       │ │ └── ee-first@1.1.0
       │ ├── qs@2.4.2
       │ ├─┬ raw-body@2.0.2
       │   ├── media-typer@0.3.0
       │   └─┬ mime-types@2.1.14
       │     └── mime-db@1.26.0
       ├── buffer-crc32@0.2.13
       ├── buffer-shims@1.0.0
       ├── builtin-modules@1.1.1
       ├── camelcase@2.1.1
       ├── camelcase-keys@2.1.0
       │ ├── ports@1.1.0
       │ └── underscore@1.8.3
       ├── check-error@1.0.2
       │   └── minimatch@3.0.3
       ├─┬ cloudant@1.7.0
       │ ├─┬ cloudant-nano@6.4.1
       │ │ ├── errs@0.3.2
       │ │ └─┬ follow@0.12.1
       │ │   ├── browser-request@0.3.3
       │ │     ├── aws-sign2@0.5.0
       │ │     ├─┬ bl@0.9.5
       │ │     ├── caseless@0.9.0
       │ │     │ └─┬ mime-types@2.0.14
       │ │     ├─┬ har-validator@1.8.0
       │ │     │ └── bluebird@2.11.0
       │ │     ├���─ hawk@2.3.1
       │ │     ├─┬ http-signature@0.10.1
       │ │     │ ├── asn1@0.1.11
       │ │     │ ├── assert-plus@0.1.5
       │ │     │ └── ctype@0.5.3
       │ │     │ └── mime-db@1.12.0
       │ └─┬ request@2.76.0
       │   ├── aws-sign2@0.6.0
       │   ├── caseless@0.11.0
       │   ├─┬ combined-stream@1.0.5
       │   │ └── delayed-stream@1.0.0
       │   ├─┬ form-data@2.1.2
       │   │ └── asynckit@0.4.0
       │   ├─┬ har-validator@2.0.6
       │   │ │ ├── ansi-styles@2.2.1
       │   │ │ ├── escape-string-regexp@1.0.5
       │   │ │ │ └── ansi-regex@2.1.1
       │   │ │ ├── strip-ansi@3.0.1
       │   │   ├── generate-function@2.0.0
       │   │   ├─┬ generate-object-property@1.2.0
       │   ├─┬ hawk@3.1.3
       │   │ ├── boom@2.10.1
       │   │ ├── hoek@2.16.3
       │   │ └── sntp@1.0.9
       │   ├─┬ http-signature@1.1.1
       │   │ ├── assert-plus@0.2.0
       │   │ ├─┬ jsprim@1.3.1
       │   │ │ ├── json-schema@0.2.3
       │   │ └─┬ sshpk@1.10.2
       │   │   ├── asn1@0.2.3
       │   │   ├── bcrypt-pbkdf@1.0.0
       │   │   ├── ecc-jsbn@0.1.1
       │   │   ├── jodid25519@1.0.2
       │   ├── is-typedarray@1.0.0
       │   ├── isstream@0.1.2
       │   ├── json-stringify-safe@5.0.1
       │   ├── node-uuid@1.4.7
       │   ├── oauth-sign@0.8.2
       │   ├── qs@6.3.0
       │   │ └── punycode@1.4.1
       │   └── tunnel-agent@0.4.3
       │ └─┬ readable-stream@2.2.2
       │   └── isarray@1.0.0
       ├── concat-map@0.0.1
       ├── console-browserify@1.1.0
       ├── consolidate@0.11.0
       ├─┬ cors@2.5.3
       ├─┬ crc32-stream@1.0.1
       │ └─┬ readable-stream@2.2.2
       │   └── isarray@1.0.0
       ├── currently-unhandled@0.4.1
       ├── dateformat@1.0.2-1.2.3
       ├─┬ deep-eql@0.1.3
       ├── diff@1.4.0
       ├─┬ dom-serializer@0.1.0
       ├─┬ duplexify@3.5.0
       ├── decamelize@1.2.0
       │ └── type-detect@0.1.1
       ├── domhandler@2.3.0
       ├── domutils@1.5.1
       │ ├── inherits@2.0.3
       │   └── isarray@1.0.0
       ├── end-of-stream@1.0.0
       ├── entities@1.0.0
       ├── error-ex@1.3.0
       ├── estraverse@1.9.3
       ├── eventemitter2@0.4.14
       ├─┬ express@3.20.3
       │ ├── commander@2.6.0
       │ ├─┬ connect@2.29.2
       │ │ ├── basic-auth-connect@1.0.0
       │ │ ├─┬ compression@1.4.4
       │ │ │ ├─┬ accepts@1.2.13
       │ │ │ └── cookie@0.1.3
       │ │ ├─┬ csurf@1.7.0
       │ │ │ └─┬ csrf@2.0.7
       │ │ │   ├── base64-url@1.2.1
       │ │ │   ├── rndm@1.1.1
       │ │ │   └── scmp@1.0.0
       │ │ ├── errorhandler@1.3.6
       │ │ ├─┬ express-session@1.10.4
       │ │ │ ├─┬ debug@2.1.3
       │ │ │ └─┬ uid-safe@1.1.0
       │ │ ├── finalhandler@0.3.6
       │ │ │ └─┬ debug@2.3.3
       │ │ │ │ └── ms@0.7.0
       │ │ │   └── native-or-bluebird@1.1.2
       │ │ │   └── ms@0.7.2
       │ │ ├─┬ morgan@1.5.3
       │ │ │ └── basic-auth@1.0.4
       │ │ │ ├── readable-stream@1.1.14
       │ │ │ └─┬ stream-counter@0.2.0
       │ │ ├── on-headers@1.0.1
       │ │ ├─┬ response-time@2.3.2
       │ │ │ └── depd@1.1.0
       │ │ ├─┬ serve-favicon@2.2.1
       │ │ ���─┬ serve-index@1.6.4
       │ │ │ ├── batch@0.5.2
       │ │ │   └── mime-db@1.12.0
       │ │ ├── serve-static@1.9.3
       │ ├── content-disposition@0.5.0
       │ ├── cookie@0.1.2
       │ ├── cookie-signature@1.0.6
       │ ├── escape-html@1.0.1
       │ │ └── crc@3.2.1
       │ ├── fresh@0.2.4
       │ ├── methods@1.1.2
       │ │ ├── forwarded@0.1.0
       │ │ └── ipaddr.js@1.0.5
       │ ├─┬ send@0.12.3
       │ │ ├── destroy@1.0.3
       │ │ ├── etag@1.6.0
       │ │ └── mime@1.3.4
       │ ├── utils-merge@1.0.0
       │ └── vary@1.0.1
       ├── faye-websocket@0.10.0
       ├── file-sync-cmp@0.1.1
       │ ├── glob@5.0.15
       │ └── minimatch@2.0.10
       ├─┬ find-up@1.1.2
       │ └─┬ pinkie-promise@2.0.1
       │   └── pinkie@2.0.4
       ├─┬ findup-sync@0.1.3
       │ ├─┬ glob@3.2.11
       │ │ └── minimatch@0.3.0
       │ └── lodash@2.4.2
       ├── formatio@1.1.1
       ├── fs.realpath@1.0.0
       ├── get-stdin@4.0.1
       ├── getobject@0.1.0
       ├─┬ globule@1.1.0
       │ ├── glob@7.1.1
       │ ├── lodash@4.16.6
       │ └── minimatch@3.0.3
       ├── graceful-fs@1.2.3
       ├─┬ grunt-legacy-log@0.1.3
       │ └── underscore.string@2.3.3
       ├─┬ grunt-legacy-log-utils@0.1.1
       │ ├── colors@0.6.2
       │ └── underscore.string@2.3.3
       │ ├── async@0.1.22
       │ └── lodash@0.9.2
       ├─┬ handlebars@4.0.6
       │ └── source-map@0.4.4
       ├── has-flag@1.0.0
       ├── hooker@0.2.3
       ├── hosted-git-info@2.1.5
       ├─┬ htmlparser2@3.8.3
       │ └─┬ readable-stream@1.1.14
       ├── indent-string@2.1.0
       ├── is-arrayish@0.2.1
       ├── is-builtin-module@1.0.0
       ├── is-finite@1.0.2
       ├── is-utf8@0.2.1
       ├── isexe@1.1.2
       │ ├── async@1.5.2
       │ ├─┬ js-yaml@3.4.6
       │ │ ├─┬ argparse@1.0.9
       │ │ │ └── sprintf-js@1.0.3
       │ │ └── inherit@2.2.6
       │ ├── mkdirp@0.5.0
       │ ├── nopt@3.0.6
       │ └── which@1.2.12
       ├─┬ jade@0.26.3
       │ └── mkdirp@0.3.0
       │ ├── lodash@3.7.0
       │ └── minimatch@3.0.3
       ├── kind-of@3.1.0
       ├─┬ lazystream@1.0.0
       │ └─┬ readable-stream@2.2.2
       │   └── isarray@1.0.0
       ├── livereload-js@2.2.2
       ├─┬ load-json-file@1.1.0
       │ └── graceful-fs@4.1.11
       ├── lolex@1.3.2
       ├── longest@1.0.1
       ├── lru-cache@2.7.3
       ├── map-obj@1.0.1
       ├─┬ meow@3.7.0
       │ └── minimist@1.2.0
       ├── normalize-package-data@2.3.5
       ├── normalize-path@2.0.1
       ├── object-assign@4.1.1
       ├─┬ optimist@0.6.1
       │ ├── minimist@0.0.8
       │ └── wordwrap@0.0.3
       ├─┬ optionator@0.5.0
       ├── pad-stream@1.2.0
       ├── parse-json@2.2.0
       ├── pify@2.3.0
       ├── process-nextick-args@1.0.7
       │ └── end-of-stream@1.1.0
       ├── pumpify@1.3.5
       ├── read-pkg@1.1.0
       ├── read-pkg-up@1.0.1
       ├── redent@1.0.0
       ├── repeat-string@1.6.1
       ├── repeating@2.0.1
       ├── right-align@0.1.3
       ├── rimraf@2.2.8
       ├── samsam@1.1.2
       ├── semver@5.3.0
       ├── sigmund@1.0.1
       ├── signal-exit@3.0.2
       ├── source-map@0.2.0
       ├── spdx-correct@1.0.2
       ├── spdx-expression-parse@1.0.4
       ├── spdx-license-ids@1.2.2
       ├── split2@1.1.1
       ├── stream-shift@1.0.0
       ├── strip-indent@1.0.1
       ├─┬ tar-stream@1.5.2
       │ ├── bl@1.2.0
       │ ├─┬ readable-stream@2.2.2
       │ │ └── isarray@1.0.0
       │   └── isarray@1.0.0
       │ │ ├── depd@1.1.0
       │ │ ├─┬ http-errors@1.3.1
       │ │ │ └── statuses@1.3.1
       │ │ ├── iconv-lite@0.4.13
       │ │ ├─┬ on-finished@2.3.0
       │ │ ├── qs@5.2.0
       │ │   └── bytes@2.4.0
       │ ├── parseurl@1.3.1
       │ └── qs@5.1.0
       ├── to-iso-string@0.0.2
       ├── trim-newlines@1.0.0
       ├── type-detect@1.0.0
       │ ├── async@0.2.10
       │ └── source-map@0.5.6
       ├── uglify-to-browserify@1.0.2
       ├── underscore.string@2.2.1
       ├── unpipe@1.0.0
       ├���┬ util@0.10.3
       │ └── inherits@2.0.1
       ├── util-deprecate@1.0.2
       ├── validate-npm-package-license@3.0.1
       ├── vargs@0.1.0
       ├── websocket-extensions@0.1.1
       ├── wordwrap@1.0.0
       │ └── camelcase@1.2.1
       └─┬ zip-stream@1.1.1
       └─┬ readable-stream@2.2.2
       └── isarray@1.0.0
-----> Checking and configuring service extensions after installing dependencies
-----> Caching build
       - node_modules
       ├── abbrev@1.0.9
       ├── align-text@0.1.4
       ├── assertion-error@1.0.2
       ├── balanced-match@0.4.2
       ├── brace-expansion@1.1.6
       ├── buffer-crc32@0.2.13
       ├── buffer-shims@1.0.0
       ├── camelcase@2.1.1
       ├── camelcase-keys@2.1.0
       ├── center-align@0.1.3
       ├── check-error@1.0.2
       ├── cli@1.0.1
       ├── coffee-script@1.3.3
       ├── compress-commons@1.1.0
       ├── concat-map@0.0.1
       ├── crc32-stream@1.0.1
       ├── date-now@0.1.4
       ├── dateformat@1.0.2-1.2.3
       ├── decamelize@1.2.0
       ├── deep-eql@0.1.3
       ├── duplexify@3.5.0
       ├── end-of-stream@1.0.0
       ├── entities@1.0.0
       ├── escodegen@1.7.1
       ├── estraverse@1.9.3
       ├── esutils@2.0.2
       ├── exit@0.1.2
       ├── fast-levenshtein@1.0.7
       ├── faye-websocket@0.10.0
       ├── file-sync-cmp@0.1.1
       ├── fileset@0.2.1
       ├── find-up@1.1.2
       ├── findup-sync@0.1.3
       ├── fs.realpath@1.0.0
       ├── get-stdin@4.0.1
       ├── glob@3.1.21
       ├── globule@1.1.0
       ├── graceful-fs@1.2.3
       ├── growl@1.9.2
       ├── grunt-legacy-log-utils@0.1.1
       ├── handlebars@4.0.6
       ├── has-flag@1.0.0
       ├── hooker@0.2.3
       ├── htmlparser2@3.8.3
       ├── indent-string@2.1.0
       ├── inflight@1.0.6
       ├── is-arrayish@0.2.1
       ├── is-buffer@1.1.4
       ├── is-builtin-module@1.0.0
       ├── is-finite@1.0.2
       ├── is-utf8@0.2.1
       ├── jade@0.26.3
       ├── jshint@2.9.4
       ├── lazystream@1.0.0
       ├── levn@0.2.5
       ├── livereload-js@2.2.2
       ├── longest@1.0.1
       ├── loud-rejection@1.6.0
       ├── lru-cache@2.7.3
       ├── map-obj@1.0.1
       ├── meow@3.7.0
       ├── nopt@1.0.10
       ├── normalize-package-data@2.3.5
       ├── nue@0.7.1
       ├── number-is-nan@1.0.1
       ├── object-assign@4.1.1
       ├── once@1.3.3
       ├── optimist@0.6.1
       ├── pad-stream@1.2.0
       ├── parse-json@2.2.0
       ├── path-exists@2.1.0
       ├── path-is-absolute@1.0.1
       ├── pify@2.3.0
       ├── prelude-ls@1.1.2
       ├── process-nextick-args@1.0.7
       ├── pump@1.0.2
       ├── q@1.4.1
       ├── read-pkg-up@1.0.1
       ├── repeat-string@1.6.1
       ├── repeating@2.0.1
       ├── resolve@1.1.7
       ├── right-align@0.1.3
       ├── semver@5.3.0
       ├── shelljs@0.3.0
       ├── sigmund@1.0.1
       ├── source-map@0.2.0
       ├── spdx-expression-parse@1.0.4
       ├── spdx-license-ids@1.2.2
       ├── split2@1.1.1
       ├── stream-shift@1.0.0
       ├── strip-bom@2.0.0
       ├── strip-indent@1.0.1
       ├── strip-json-comments@1.0.4
       ├── through2@2.0.3
       ├── tiny-lr@0.2.1
       ├── to-iso-string@0.0.2
       ├── trim-newlines@1.0.0
       ├── type-check@0.3.2
       ├── uglify-js@2.7.5
       ├── uglify-to-browserify@1.0.2
       ├── underscore.string@2.2.1
       ├── unpipe@1.0.0
       ├── util@0.10.3
       ├── util-deprecate@1.0.2
       ├── validate-npm-package-license@3.0.1
       ├── vargs@0.1.0
       ├── walkdir@0.0.11
       ├── websocket-driver@0.6.5
       ├── which@1.0.9
       ├── window-size@0.1.0
       ├── wordwrap@1.0.0
       ├── wrappy@1.0.2
       ├── yargs@3.10.0
       
Exit status 0
Staging complete
Uploading droplet, build artifacts cache...
Uploading build artifacts cache...
Uploaded build artifacts cache (8.5M)
Uploading complete
Destroying container

0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running

App started


OK

App dev-catalog-api-toolchain-lab_timestamp-myung was started using this command `./vendor/initial_startup.rb`

Showing health and status for app dev-catalog-api-toolchain-lab_timestamp-myung in org jmyung / space dev as human537@nate.com...
OK

requested state: started
instances: 1/1
usage: 128M x 1 instances
urls: dev-catalog-api-toolchain-lab-timestamp-myung.mybluemix.net
last uploaded: Mon Apr 10 15:53:29 UTC 2017
stack: cflinuxfs2
buildpack: sdk-for-nodejs

     state     since                    cpu    memory          disk         details
#0   running   2017-04-10 03:56:01 PM   0.0%   68.3M of 128M   127M of 1G
Sending deployment success of dev-catalog-api-toolchain-lab_timestamp-myung to IBM DevOps Services...
IBM DevOps Services notified successfully.

Finished: SUCCESS





Testing of App Name test-catalog-api-toolchain-lab_timestamp-myung was successful

Finished: SUCCESS


14 of 16


Task 8: Add Prod stage to Catalog Delivery Pipeline







'Cloud > devops' 카테고리의 다른 글

JIRA  (0) 2017.04.13
Toolchain & Active Deploy  (0) 2017.04.11
Availability Monitoring  (0) 2017.04.11
Pagerduty를 활용하여, 장애발생시 SMS알림받기  (0) 2017.04.11
slack webhook  (0) 2017.04.11