Improving your Drupal 8 Development Workflow. by Jesus Manuel Olivas / WeKnow

Size: px
Start display at page:

Download "Improving your Drupal 8 Development Workflow. by Jesus Manuel Olivas / WeKnow"

Transcription

1 Improving your Drupal 8 Development Workflow by Jesus Manuel Olivas / WeKnow

2 WHO AM I? Jesus Manuel Olivas jmolivas jmolivas drupal.org/u/jmolivas jmolivas.weknowinc.com

3

4 What we know about? Drupal and surrounding technologies. Symfony, ReactJS, MeteorJS, Docker, Ansible. Creators and maintainers of Drupal Console Project. Distributed team in 12 countries. Partner agencies in the US and Canada. Talent as a service Staff Augmentation Agency. Hire us!

5 Local environment

6 Local environment. Isolate local machine from project dependencies. Easy and simple to start and continue working on existing projects. Facilitate on boarding and adding new team members. Project scope configurations. Shareable with the team using a code repository via git. Mimic production environment and other temporary stages.

7 Local environment. OS Native, LAMP, Dev Desktop XAMPP => MAMP => WAMP => Vagrant => Docker =>

8 Vagrant Docker

9 Local environment. DrupalVM => Docksal => DDEV => Lando => Outrigger => Docker4Drupal =>

10 Download and Install Drupal 8

11 Download Drupal (Composer) # Includes configurations for Docker and DrupalConsole. composer create-project weknowinc/drupal-project /path/to/drupal # Drupal Vanilla composer create-project drupal/drupal /path/to/drupal # Try Drupal (any distro) + Docker composer create-project weknowinc/try-drupal /path/to/drupal

12 Download Drupal (Git Drupal Console) # Clone project using git git clone git@github.com:weknowinc/drupal-project.git # Create project using Drupal Console drupal site:new --repository=weknowinc/drupal-project \ --directory=/path/to/drupal-project/

13 Manage environment variables (.env.dist =>.env) # Copy env file cp.env.dist.env # Customize values vim.env

14 What if this is not a new project? How to automate this? # Create site alias,.env, and docker-compose.yml files. drupal dockerize (Available on ETA DrupalCon Nashville) # This will run drupal generate:site:alias drupal dotenv:init drupal docker:init

15 Environment variables (.env) ENVIRONMENT=develop HOST_NAME=drupal.develop DATABASE_NAME=drupal HOST_PORT=80 DATABASE_USER=drupal DATABASE_PASSWORD=drupal DATABASE_HOST=mariadb DRUPAL_ROOT=/var/www/html SERVER_ROOT=/var/www/html/web DATABASE_PORT=3306

16 Ignore configuration files (.gitignore) # External dependencies vendor # Files web/sites/*/files # Drupal dependencies web/core web/modules/contrib web/themes/contrib web/profiles/contrib web/libraries/contrib # env file.env # DB backups mariadb-init

17 The new directory structure drupal8.dev/ LICENSE README.md composer.json composer.lock scripts vendor web web/ autoload.php core index.php modules profiles sites themes

18 Start and stop containers # Start containers docker-compose up # Start containers daemon docker-compose up -d # Stop containers docker-compose down # Stop containers destroy data docker-compose down -v

19 Docker commands # Check containers docker ps -a # Stop all containers docker stop $(docker ps -a -q) # Remove unused data docker volume prune # Remove all containers docker rm $(docker ps -a -q)

20 docker-compose.yml overview version: "2.3" services: mariadb: php: nginx: mailhog: traefik: volumes: mysqldata: driver: "local"

21 docker-compose.yml mariadb 1/2 mariadb: image: wodby/mariadb: env_file:./.env environment: MYSQL_RANDOM_ROOT_PASSWORD: 'true' MYSQL_DATABASE: ${DATABASE_NAME} MYSQL_USER: ${DATABASE_USER} MYSQL_PASSWORD: ${DATABASE_PASSWORD}

22 docker-compose.yml mariadb 2/2 volumes: - mysqldata:/var/lib/mysql # Uncomment next line and place DB dump.sql file(s) here # -./mariadb-init:/docker-entrypoint-initdb.d healthcheck: test: ["CMD", "mysqladmin","ping", "-h", "localhost"] timeout: 20s retries: 10

23 docker-compose.yml php 1/2 php: image: wodby/drupal-php: env_file:./.env environment: PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025 DB_HOST: ${DATABASE_HOST} DB_USER: ${DATABASE_USER} DB_PASSWORD: ${DATABASE_PASSWORD} DB_NAME: ${DATABASE_NAME} DB_DRIVER: mysql

24 docker-compose.yml php 2/2 volumes: # use :cached config for better performance on osx -./:${DRUPAL_ROOT}:cached depends_on: mariadb: condition: service_health

25 docker-compose.yml nginx 1/2 nginx: image: wodby/drupal-nginx: env_file:./.env depends_on: - php environment: NGINX_STATIC_CONTENT_OPEN_FILE_CACHE: "off" NGINX_ERROR_LOG_LEVEL: debug NGINX_BACKEND_HOST: php NGINX_SERVER_ROOT: ${SERVER_ROOT}

26 docker-compose.yml nginx 2/2 volumes: # use :cached config for better performance on osx -./:${DRUPAL_ROOT}:cached labels: - 'traefik.backend=nginx' - 'traefik.port=80' - 'traefik.frontend.rule=host:${host_name}'

27 docker-compose.yml mailhog mailhog: image: mailhog/mailhog env_file:./.env labels: - 'traefik.backend=mailhog' - 'traefik.port=8025' - 'traefik.frontend.rule=host:mailhog.${host_name}'

28 docker-compose.yml traefik traefik: image: traefik env_file:./.env command: -c /dev/null --web --docker --loglevel=info ports: - '${HOST_PORT}:${HOST_PORT}' volumes: - /var/run/docker.sock:/var/run/docker.sock

29 Using Composer to manage project dependencies

30 Composer

31

32 Using composer within the container Drupal 8 really takes a lot of advantages of using composer, you can install/uninstall dependencies and apply patches. Although it s a good practice when using Docker, to run this commands inside your container because if you have a PHP version on your local machine, you could install dependencies that are not suitable for your container instance.

33 Ahoy Ahoy is command line tool that gives each of your projects their own CLI app with with zero code and dependencies.

34 .ahoy.yml ahoyapi: v2 commands: composer: cmd: docker-compose exec --user=82 php composer usage: Run drush commands in the cli service container. stop: cmd: docker-compose stop usage: Stop the docker-compose containers. down: cmd: docker-compose down usage: Stop and remove the docker-compose containers.

35 Execute composer (within the container) # Execute composer within the container docker-compose exec --user=82 php composer install # Execute composer within the container using ahoy ahoy composer install

36 Manage dependencies ahoy composer require drupal/admin_toolbar ahoy composer update drupal/admin_toolbar ahoy composer update drupal/admin_toolbar --with-dependencies ahoy composer remove drupal/admin_toolbar

37 Composer commands ahoy composer why drupal/admin_toolbar ahoy composer show [-o] [drupal/admin_toolbar] ahoy composer check-platform-reqs ahoy composer diagnose

38 How composer know about Drupal dependencies "repositories": [ { "type": "composer", "url": " } ],

39 How composer know where to download dependencies "extra": { "installer-paths": { "docroot/core": [ "type:drupal-core" ], "docroot/modules/contrib/{$name}": [ "type:drupal-module" ], "docroot/theme/contrib/{$name}": [ type:drupal-theme" ] } }

40 Apply patches (composer.json) "extra": { "patches": { "drupal/admin_toolbar": { "Patch description": URL/local path to patch" } } }

41 Composer configuration "minimum-stability": "dev", "prefer-stable": true, "config": { "platform": { "php": 7.0, "sort-packages": true } }

42 Managing external libraries and dependencies

43 Register a drupal-library (composer.json) "repositories": [ { "type": "package", "package": { "name": "ckeditor/codesnippet", "description": "This plugin ", "type": "drupal-library", "homepage": " "version": 4.7.3, "dist": { "type": "zip", "url": " "reference": "master" } } } ],

44 Download a drupal-library (composer) composer require ckeditor/codesnippet # composer.json "extra": { "installer-paths": { "web/libraries/{$name}": [ type:drupal-library" ], } }

45 Drupal Console

46

47 Drupal Console Launcher curl -L -o drupal.phar mv drupal.phar /usr/local/bin/drupal chmod +x /usr/local/bin/drupal

48 Why do I need the Launcher? This is a global executable that enables you to run the command, drupal, from any directory within your site's project. Without it you will be inconvenienced by having to run the command only from your drupal root directory. For example, if you have Drupal root in a /web directory, and a composer.json and your vendor directory in the directory above that, you will be able to run the drupal command from the same directory as the composer.json file. Even better, you can run it from any subdirectory under that as many levels deep as you would like to go.

49 Drupal Console per-site installation composer require drupal/console:~1.0 \ --prefer-dist \ --optimize-autoloader

50 Site alias Drupal Console allows you to run commands from your local server but being able to execute those commands on a local, remote (VPS, PaaS) or virtual (VM, Docker) Drupal installation using site aliases. A site alias file use the YAML format to provide a collection of predefined options. Once an alias is defined you can call them using a short name.

51 Site alias console/sites/drupal.yml (container docker4drupal) develop: root: /var/www/html extra-options: docker-compose exec --user=82 php type: container

52 Site alias console/sites/drupal.yml (ssh drupalvm) drupalvm: root: /var/www/drupalvm/drupal host: user: vagrant extra-options: '-o PasswordAuthentication=no -i ~/.vagrant.d/insecure_private_key' type: ssh

53 Execute Drupal Console using site alias # Using the --target option drupal --target=drupal.develop cr all # Using the identifier cr all

54 Configuration Management Managing configuration changes through the CLI. Install Drupal and import a previously exported configuration. Override configuration per environment Content synchronization.

55 Managing configuration changes through the CLI.

56 Configuration Management In Drupal, configuration is the collection of admin settings that determine how the site functions, as opposed to the content of the site. Configuration will typically include things such as the site name, the content types and fields, taxonomy vocabularies, views and so on.

57 Configuration system The Drupal configuration system handles configuration in a unified manner. By default, Drupal stores configuration data in the database, but it can be exported to YAML files, allowing the configuration to be managed by version control.

58 Configuration Management Configuration is a mapping of keys and values. Stored on the Database by default. Exported as YAML for synchronization between environments. Once a module is installed the configuration provided by the module is owned by the site not the by the module anymore.

59 Exporting Configuration drupal config:export drupal config:export [--directory] [--tar] drupal config:export:single [--directory] [--module] drupal config:export:content:type drupal config:export:view

60 Importing Configuration drupal config:import drupal config:import [--file] [--directory] drupal config:import:single [--directory] [--file] drupal config:import:single [--file] [--file]

61 Useful Configuration commands drupal config:diff drupal config:edit drupal config:override drupal config:delete drupal debug:config

62 Override configuration per environment

63 Configuration override system There are cases when configuration values need to be overridden for specific purposes as custom settings per environment. For this cases the Drupal configuration systems provides the configuration override system. This system allow you to override configuration values.

64 Configuration override system * Maintains these overrides as temporary layers on top of the standard configuration values. * Does not use overridden values for configuration forms. * May store overrides with other configuration files for staging and version control support.

65 Main web/sites/default/settings.php file $env = getenv('environment'); $base_path = $app_root. '/'. $site_path; $servicesfile = $base_path. '/services.'.$env.'.yml'; $settingsfile = $base_path. '/settings.'.$env.'.php'; if (file_exists($servicesfile)) { } $settings['container_yamls'][] = $servicesfile; if (file_exists($settingsfile)) { } include $settingsfile;

66 Using web/sites/default/services.develop.yml parameters: twig.config: { debug: true, auto_reload: true, cache: false } services: cache.backend.null: class: Drupal\Core\Cache\NullBackendFactory

67 Using web/sites/default/settings.develop.php <?php $config['system.performance']['css']['preprocess'] = FALSE; $config['system.performance']['js']['preprocess'] = FALSE; require_once DRUPAL_ROOT. '/modules/contrib/devel/kint/kint/kint.class.php'; Kint::$maxLevels = 5; $settings['cache']['bins']['render'] = 'cache.backend.null'; $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';

68 Showing overridden configuration # Pass the --show-overridden flag drupal debug:config system.performance --show-overridden

69 Config Override Inspector Config Override Inspector provides indicators to administrators where form fields represent configuration that is overridden. This module is especially useful for developers working on sites where there are configuration overrides in place depending on the environment. It prevents confusion that arise when changing a form setting, but appears to not take effect.

70 Install Drupal and import a previously exported configuration.

71 Configuration Management The Configuration Management (CM) system, is great. But wouldn't it be even more awesome to be able to install a site, export configuration and then re-install site from scratch importing the previously exported configuration?

72 Install site and import previously exported configuration. Not supported by Drupal out-of-the-box. "Site UUID in source storage does not match the target storage."

73 Why would you want to install your site from an existing configuration? Automate the creation of reproducible build/artifacts from scratch at any stage (Development, QA, Production) to test, launch or deploy your site. Simplify on-boarding for new developers to any project without the need to obtain a database-dump. Developers will be able spin-up sites from scratch just by installing the site and importing configuration files.

74 How to achieve this using Drupal Console? [ 1/2 ] Simple as updating your console/config.yml adding: application:... overrides: config: skip-validate-site-uuid: true

75 How to achieve this using Drupal Console? [ 2/2 ] Execute commands to install the site and import your previously exported configuration: drupal site:install --force no-interaction drupal config:import --no-interaction

76 Automate both commands command: name: build:install description: 'Build site by installing and importing configuration' commands: # Install site - command: site:install options: force: true arguments: profile: standard # Import configurations - command: config:import

77 Do I have other alternatives?

78 Using contributed modules to improve configuration management.

79 Configuration Split This module allows to define sets of configuration that will get exported to separate directories when exporting, and get merged together when importing.

80 Configuration Split Export Configuration # Export without development settings drupal config:export # Export including development settings drupal config_split:export --split=develop

81 Configuration Split Import Configuration # Import without development settings drupal config:import # Import including development settings drupal config_split:import --split=develop

82 Configuration Read-only mode This module allows to lock any configuration changes done via the Drupal admin UI. This can be useful in scenarios where for example configuration changes should not be done on the production environment, but only on specific environments.

83 Using web/sites/default/settings.production.php if (PHP_SAPI!== 'cli') { $settings['config_readonly'] = TRUE; } $settings['config_readonly_whitelist_patterns'] = [ system.site, views*', blocks*', ];

84 Deploying alternatives PaaS and VPS.

85 PaaS

86 Deploying site to a stage or production server.

87 VPS

88 Ansistrano (Ansible + Capistrano) ansistrano.deploy and ansistrano.rollback are Ansible Galaxy roles to easily manage the deployment process for scripting applications such as PHP, Python and Ruby. It's an Ansible port for Capistrano.

89 Ansistrano files.ansistrano/ deploy-prod.yml hosts_prod tasks after-symlink.yml

90 Workflow > Setup phase: Creates the folder structure to hold your releases > Code update phase: Puts the new release into your hosts > Symlink phase: After deploying the new release into your hosts, this step changes the current softlink to new the release > Cleanup phase: Removes any old version based in the ansistrano_keep_releases parameter (see "Role Variables")

91

92 hosts_prod production ansible_host=sandcamp-demo.com ansible_user=deploy

93 deploy-prod.yml name: Deploy prod hosts: all vars: ansistrano_keep_releases: 3 ansistrano_deploy_to: "/var/www/html/sandcamp-demo" ansistrano_allow_anonymous_stats: no ansistrano_after_symlink_tasks_file: "{{ playbook_dir }}/tasks/after-symlink.yml ansistrano_shared_paths: - docroot/sites/default/files ansistrano_deploy_via: git ansistrano_git_repo: git@github.com:weknowinc/sandcamp-demo.git ansistrano_git_branch: master roles: - { role: carlosbuenosvinos.ansistrano-deploy }

94 deploy-prod.yml # 1st release -- /var/www/my-app.com -- current -> /var/www/my-app.com/releases/ releases shared # 2nd release -- /var/www/my-app.com -- current -> /var/www/my-app.com/releases/ releases shared # 3rd release -- /var/www/my-app.com -- current -> /var/www/my-app.com/releases/ releases shared

95 .

Drupal 8 Development and Deployment Lifecycle. by Jesus Manuel Olivas & Omar Aguirre

Drupal 8 Development and Deployment Lifecycle. by Jesus Manuel Olivas & Omar Aguirre Drupal 8 Development and Deployment Lifecycle by Jesus Manuel Olivas & Omar Aguirre WHO AM I? Jesus Manuel Olivas jmolivas@weknoinc.com jmolivas jmolivas drupal.org/u/jmolivas jmolivas.weknoinc.com WHO

More information

SCALING DRUPAL TO THE CLOUD WITH DOCKER AND AWS

SCALING DRUPAL TO THE CLOUD WITH DOCKER AND AWS SCALING DRUPAL TO THE CLOUD WITH DOCKER AND AWS Dr. Djun Kim Camp Pacific OUTLINE Overview Quick Intro to Docker Intro to AWS Designing a scalable application Connecting Drupal to AWS services Intro to

More information

More Dev / Less Ops. Sean Dietrich DrupalCorn '18

More Dev / Less Ops. Sean Dietrich DrupalCorn '18 More Dev / Less Ops Sean Dietrich DrupalCorn '18 Hi there! I m a Technical Lead at Kanopi Studios. @seanedietrich / sean_e_dietrich / sean.e.dietrich Maintainer on the Docksal Project Drupal Development

More information

Build & Launch Tools (BLT) Automating best practices for enterprise sites

Build & Launch Tools (BLT) Automating best practices for enterprise sites Build & Launch Tools (BLT) Automating best practices for enterprise sites Who are you? Matthew Grasmick @grasmash on Drupal.org, twitter, etc. Acquia Professional Services, 4yrs Drupalist, 9yrs Maintainer

More information

CONFIGURATION AS DEPENDENCY. Managing Drupal 8 Configuration with Git and Composer

CONFIGURATION AS DEPENDENCY. Managing Drupal 8 Configuration with Git and Composer CONFIGURATION AS DEPENDENCY Managing Drupal 8 Configuration with Git and Composer ERICH BEYRENT Senior Drupal Developer at BioRAFT Working with Drupal since 2004 Drupal: https://drupal.org/u/ebeyrent Twitter:

More information

Table of Contents. Drupal Console

Table of Contents. Drupal Console Table of Contents Drupal Console Documentation What is the Drupal Console Why should you care about? How does Drupal Console help? Where do I find the project? Getting the project Using Composer Global

More information

Configuration Management in Drupal 8

Configuration Management in Drupal 8 Configuration Management in Drupal 8 Antonio De Marco - antonio@nuvole.org Fabian Bircher - fabian@nuvole.org Nuvole a 100% Drupal company Our Distributed Team Italy Belgium Czech Republic Our Clients

More information

Drupal Command Line Instructions Windows 7 List All Files >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 List All Files >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 List All Files The command line patch utility can run on Windows natively with GnuWin32 or select all text and copy it to clipboard (Ctrl+ C), Menu _ project

More information

DevOps Workflow. From 0 to kube in 60 min. Christian Kniep, v Technical Account Manager, Docker Inc.

DevOps Workflow. From 0 to kube in 60 min.   Christian Kniep, v Technical Account Manager, Docker Inc. DevOps Workflow From 0 to kube in 60 min http://qnib.org/devops-workflow Christian Kniep, v2018-02-20 Technical Account Manager, Docker Inc. Motivation Iteration barriers Works on my Laptop! Why is DevOps

More information

Advanced Configuration Management with Config Split et al. Fabian Bircher

Advanced Configuration Management with Config Split et al. Fabian Bircher Advanced Configuration Management with Config Split et al. Fabian Bircher fabian@nuvole.org web: nuvole.org twitter: @nuvoleweb Our Distributed Team Nuvole: a 100% Drupal company with a distributed team

More information

COMPOSER IN DRUPAL WORLD

COMPOSER IN DRUPAL WORLD #drupaldevdays / Composer in Drupal World / @derhasi COMPOSER IN DRUPAL WORLD Johannes Haseitl - @derhasi ME Johannes Haseitl @derhasi everywhere Maintainer of Master, Search API Override,... CEO of undpaul

More information

Docker on VDS. Aurelijus Banelis

Docker on VDS. Aurelijus Banelis Docker on VDS Aurelijus Banelis Aurelijus Banelis Software developer aurelijus.banelis.lt aurelijus@banelis.lt Docker on VDS You will learn Why VDS? Why docker? What is docker? Is it possible? Why not?

More information

Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick

Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick Composer and Drupal CIDUG Meeting December 13, 2018 John Rearick * Similar to other dependency managers such as: yum, apt, brew, macports, npm, pip, etc. * Helps manage dependency hell. * Lots of dependencies

More information

Docker for Development: Getting Started

Docker for Development: Getting Started Docker for Development: Getting Started Lisa H. Ridley Savas Labs DrupalCamp Chattanooga November 5, 2016 Who am I? Lisa Ridley, Director of Client Success, Savas Labs Lead Developer and Project Manager

More information

Configuration Management

Configuration Management Configuration Management A True Life Story October 16, 2018 Page 1 Configuration Management: A True Life Story John E. Picozzi Senior Drupal Architect Drupal Providence 401-228-7660 oomphinc.com 72 Clifford

More information

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering Developing and Testing Java Microservices on Docker Todd Fasullo Dir. Engineering Agenda Who is Smartsheet + why we started using Docker Docker fundamentals Demo - creating a service Demo - building service

More information

Con guration Management

Con guration Management Con guration Management Theory and practice Andrea Pescetti andrea@nuvole.org Fabian Bircher fabian@nuvole.org Antonio De Marco antonio@nuvole.org web: nuvole.org twitter: @nuvoleweb Our Distributed Team

More information

Drupal & Composer Matthew Grasmick & Jeff Geerling

Drupal & Composer Matthew Grasmick & Jeff Geerling Drupal & Composer Matthew Grasmick & Jeff Geerling Speakers Matthew Grasmick @grasmash Jeff Geerling @geerlingguy Acquian BLT maintainer 10+ years of Drupal Acquian Drupal VM maintainer Agenda Composer

More information

Dr. Roland Huß, Red

Dr. Roland Huß, Red " m " f o r m e n u, "? " f o r o t h e r s h o r t c u t s DOCKER PATTERNS Dr. Roland Huß, Red Hat, @ro14nd AGENDA Intro: Docker & Patterns Configuration Service Discovery Image Builder VM VS. CONTAINER

More information

Drupal Command Line Instructions Windows 7 List All Users >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 List All Users >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 List All Users Last updated January 7, 2015. Alternatively, Windows users can often just use the Drush Command Prompt You will find out about all the other options

More information

" Qué me estás container?" Docker for dummies

 Qué me estás container? Docker for dummies " Qué me estás container?" Docker for dummies Sara Arjona @sara_arjona Pau Ferrer @crazyserver Developer at Moodle HQ Moodle Mobile developer at Moodle HQ #MootES18 Who uses Docker for development? Who

More information

Stephan Hochdörfer //

Stephan Hochdörfer // From dev to prod with GitLab CI Stephan Hochdörfer // 21.06.2018 About me Stephan Hochdörfer Head of Technology, bitexpert AG (Mannheim, Germany) S.Hochdoerfer@bitExpert.de @shochdoerfer #PHP, #DevOps,

More information

Build, test and release your python packages

Build, test and release your python packages Build, test and release your python packages Using DevPI, Docker and Jenkins David Melamed PyWeb #55-1st August 2016 A word about me Moved to Israel 8 years ago PhD in BioInformatics Senior Research Engineer

More information

Think Small to Scale Big

Think Small to Scale Big Think Small to Scale Big Intro to Containers for the Datacenter Admin Pete Zerger Principal Program Manager, MVP pete.zerger@cireson.com Cireson Lee Berg Blog, e-mail address, title Company Pete Zerger

More information

Drupal Command Line Instructions Windows 7 Network Drive >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 Network Drive >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 Network Drive Applying patches, modifying files according to instructions in the patch file, This page only deals with some basic principles using the command

More information

Quick Prototyping+CI with LXC and Puppet

Quick Prototyping+CI with LXC and Puppet Quick Prototyping+CI with LXC and Puppet Ben Kero 2014-05-04 Introduction Ben Kero Release Engineer Responsible for version control systems: CVS, SVN, BZR, Darcs, RCS, Git, Mercurial Before at Mozilla

More information

Blog site (cont.) theme, 202 view creations, 205 Browser tools, 196 Buytaert, Dries, 185

Blog site (cont.) theme, 202 view creations, 205 Browser tools, 196 Buytaert, Dries, 185 Index A Administration, 157 backups and restore (see Backups and restore website) file system, 161 log files, 162 tasks, 157 updates and security patches, 165 user accounts, 166 Aggregator module, 218

More information

swiftenv Documentation

swiftenv Documentation swiftenv Documentation Release 1.3.0 Kyle Fuller Sep 27, 2017 Contents 1 The User Guide 3 1.1 Installation................................................ 3 1.2 Getting Started..............................................

More information

Jackalope Documentation

Jackalope Documentation Jackalope Documentation Release 0.2.0 Bryson Tyrrell May 23, 2017 Getting Started 1 Create the Slack App for Your Team 3 2 Deploying the Slack App 5 2.1 Run from application.py.........................................

More information

Garment Documentation

Garment Documentation Garment Documentation Release 0.1 Evan Borgstrom March 25, 2014 Contents i ii A collection of fabric tasks that roll up into a single deploy function. The whole process is coordinated through a single

More information

Dockerfile Best Practices

Dockerfile Best Practices Dockerfile Best Practices OpenRheinRuhr 2015 November 07th, 2015 1 Dockerfile Best Practices Outline About Dockerfile Best Practices Building Images This work is licensed under the Creative Commons Attribution-ShareAlike

More information

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45

Docker for People. A brief and fairly painless introduction to Docker. Friday, November 17 th 11:00-11:45 Docker for People A brief and fairly painless introduction to Docker Friday, November 17 th 11:00-11:45 Greg Gómez Sung-Hee Lee The University of New Mexico IT NM TIE 2017 1 Docker for People Agenda: Greg:

More information

Using DC/OS for Continuous Delivery

Using DC/OS for Continuous Delivery Using DC/OS for Continuous Delivery DevPulseCon 2017 Elizabeth K. Joseph, @pleia2 Mesosphere 1 Elizabeth K. Joseph, Developer Advocate, Mesosphere 15+ years working in open source communities 10+ years

More information

By: Jeeva S. Chelladhurai

By: Jeeva S. Chelladhurai CI CD By: Jeeva S. Chelladhurai Tools SCM: www.github.com CI/CD: Jenkins 2.0 Important Plugins: Pipeline (for Jenkinsfile), git, github, SSH Slaves (for build slave) Platform: docker Container Orchestration:

More information

DevOps Course Content

DevOps Course Content DevOps Course Content 1. Introduction: Understanding Development Development SDLC using WaterFall & Agile Understanding Operations DevOps to the rescue What is DevOps DevOps SDLC Continuous Delivery model

More information

Composer Best Practices Nils Private Packagist

Composer Best Practices Nils Private Packagist Composer Best Practices 2018 Private Packagist https://packagist.com 2018? Delete your lock files 2018? Delete your lock files Composer Ecosystem Reality Update 2018 Best Practices? Deployment Improving

More information

TangeloHub Documentation

TangeloHub Documentation TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................

More information

Magento Commerce Cloud. Implementing a Project Effectively

Magento Commerce Cloud. Implementing a Project Effectively Magento Commerce Cloud Implementing a Project Effectively Nadiia Syvokonenko Software Engineer Magento Commerce Billy Gilbert Software Engineer Magento Commerce Magento Commerce Cloud Magento Commerce

More information

Phpmyadmin Ubuntu 10.04

Phpmyadmin Ubuntu 10.04 Manual Install Apache Win7 7 Php Mysql Phpmyadmin Ubuntu 10.04 sudo apt-get install apache2 mysql-server php5 php5-mysql Example: sudo apt-get install php-apc php5-intl imagemagick phpmyadmin vsftpd php5-cli.

More information

Deploying Rails with Kubernetes

Deploying Rails with Kubernetes Deploying Rails with Kubernetes AWS Edition Pablo Acuña This book is for sale at http://leanpub.com/deploying-rails-with-kubernetes This version was published on 2016-05-21 This is a Leanpub book. Leanpub

More information

Git Command Line Tool Is Not Installed

Git Command Line Tool Is Not Installed Git Command Line Tool Is Not Installed Make Sure It Is Accessible On Y Error: "git" command line tool is not installed: make sure it is accessible on y I have installed git tool. even in git bash its showing

More information

Composer for Absolute Beginners. Alison Jo McCauley Drupal Developer, Cornell University

Composer for Absolute Beginners. Alison Jo McCauley Drupal Developer, Cornell University & l a up Dr Composer for Absolute Beginners Alison Jo McCauley Drupal Developer, Cornell University What is Composer? Composer is a (command-line) tool for dependency management in PHP. With composer,

More information

Beginners guide to at #phpworld

Beginners guide to at #phpworld Beginners guide to deployments at #phpworld Let s talk deployment Your deploys should be as boring, straightforward, and stress-free as possible. - Zach Holman (https://zachholman.com/posts/deploying-software)

More information

Installing and Using Docker Toolbox for Mac OSX and Windows

Installing and Using Docker Toolbox for Mac OSX and Windows Installing and Using Docker Toolbox for Mac OSX and Windows One of the most compelling reasons to run Docker on your local machine is the speed at which you can deploy and build lab environments. As a

More information

How To Install Modules Joomla 2.5 On Wamp Server Pdf

How To Install Modules Joomla 2.5 On Wamp Server Pdf How To Install Modules Joomla 2.5 On Wamp Server Pdf This tutorial shows you how to install the full version of Joomla 3.4.1. on a Wamp. Can I install WordPress on Windows computer other than live WordPress

More information

Bitnami MariaDB for Huawei Enterprise Cloud

Bitnami MariaDB for Huawei Enterprise Cloud Bitnami MariaDB for Huawei Enterprise Cloud First steps with the Bitnami MariaDB Stack Welcome to your new Bitnami application running on Huawei Enterprise Cloud! Here are a few questions (and answers!)

More information

Technical Comparison Sheet: ez Platform Cloud vs Other Hosting Approaches

Technical Comparison Sheet: ez Platform Cloud vs Other Hosting Approaches Technical Comparison Sheet: vs Other Approaches This is a technical comparison worksheet between the various approaches to deploy and host your ez Platform project. Each approach is unique and has its

More information

Ruby in the Sky with Diamonds. August, 2014 Sao Paulo, Brazil

Ruby in the Sky with Diamonds. August, 2014 Sao Paulo, Brazil Ruby in the Sky with Diamonds August, 2014 Sao Paulo, Brazil JELASTIC PLATFORM AS INFRASTRUCTURE Jelastic provides enterprise cloud software that redefines the economics of cloud deployment and management.

More information

How Docker Compose Changed My Life

How Docker Compose Changed My Life How Docker Compose Changed My Life Bryson Tyrrell Desktop Support Specialist I m Bryson Tyrrell, a Desktop Services Specialist with Jamf s IT department. Or at least I was Bryson Tyrrell System Administrator

More information

MIRO DIETIKER Founder

MIRO DIETIKER Founder DRUPAL SECURITY MIRO DIETIKER Founder I am I am consulting End User Agencies Site builder Hosters Developer Maintainer Open Source Initiative Leader Spring 2017 Security - Responsible disclosure...a vulnerability

More information

CMSilex Documentation

CMSilex Documentation CMSilex Documentation Release 0.1 Leigh Murray December 01, 2016 Contents 1 Introduction 3 2 Usage 5 2.1 Installation................................................ 5 2.2 Bootstrap.................................................

More information

DEPLOYMENT MADE EASY!

DEPLOYMENT MADE EASY! DEPLOYMENT MADE EASY! Presented by Hunde Keba & Ashish Pagar 1 DSFederal Inc. We provide solutions to Federal Agencies Our technology solutions connect customers to the people they serve 2 Necessity is

More information

How To Guide Using and Developing Custom Phases in IKAN ALM

How To Guide Using and Developing Custom Phases in IKAN ALM How To Guide Using and Developing Custom Phases in IKAN ALM Release 5.6 January 2015 N.V. Schaliënhoevedreef 20A 2800 Mechelen BELGIUM 2006-2015 N.V. No part of this document may be reproduced or transmitted

More information

Index. Alias syntax, 31 Author and commit attributes, 334

Index. Alias syntax, 31 Author and commit attributes, 334 Index A Alias syntax, 31 Author and commit attributes, 334 B Bare repository, 19 Binary conflict creating conflicting changes, 218 during merging, 219 during rebasing, 221 Branches backup, 140 clone-with-branches

More information

Creating pipelines that build, test and deploy containerized artifacts Slides: Tom Adams

Creating pipelines that build, test and deploy containerized artifacts Slides:   Tom Adams Creating pipelines that build, test and deploy containerized artifacts Slides: https://goo.gl/2mzfe6 Tom Adams tadams@thoughtworks.com 1 Who I am Tom Adams Tech Lead tadams@thoughtworks.com http://tadams289.blogspot.com

More information

Who is Docker and how he can help us? Heino Talvik

Who is Docker and how he can help us? Heino Talvik Who is Docker and how he can help us? Heino Talvik heino.talvik@seb.ee heino.talvik@gmail.com What is Docker? Software guy view: Marriage of infrastucture and Source Code Management Hardware guy view:

More information

Walter walterebert.de slideshare.net/walterebert

Walter walterebert.de slideshare.net/walterebert Walter Ebert @wltrd walterebert.de slideshare.net/walterebert https://getcomposer.org/doc/00-intro.md Composer installieren php -r \ "readfile('https://getcomposer.org/installer');" \ > composer-setup.php

More information

Drupal Command Line Instructions Windows 8.1 Setup >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 8.1 Setup >>>CLICK HERE<<< Drupal Command Line Instructions Windows 8.1 Setup Learn how to install the Telnet Client in Windows, how to start it, how to where to find documentation about Telnet commands and where to find Telnet

More information

Bitnami MySQL for Huawei Enterprise Cloud

Bitnami MySQL for Huawei Enterprise Cloud Bitnami MySQL for Huawei Enterprise Cloud Description MySQL is a fast, reliable, scalable, and easy to use open-source relational database system. MySQL Server is intended for mission-critical, heavy-load

More information

Managing Dependencies and Runtime Security. ActiveState Deminar

Managing Dependencies and Runtime Security. ActiveState Deminar ActiveState Deminar About ActiveState Track-record: 97% of Fortune 1000, 20+ years open source Polyglot: 5 languages - Python, Perl, Tcl, Go, Ruby Runtime Focus: concept to development to production Welcome

More information

SQL Server containers with in-container data

SQL Server containers with in-container data SQL Server containers with in-container data This article provides step-by-step instructions for working with SQL Server containers with databases running in the container s private file system ( in-container

More information

Arup Nanda VP, Data Services Priceline.com

Arup Nanda VP, Data Services Priceline.com Jumpstarting Docker Arup Nanda VP, Data Services Priceline.com My application worked in Dev but not in QA Will it work in production? I need an environment right now No, I can t wait for 2 weeks I just

More information

Investigating Containers for Future Services and User Application Support

Investigating Containers for Future Services and User Application Support Investigating Containers for Future Services and User Application Support JLAB CNI NLIT 2018 () Overview JLAB scope What is a container? Why are we interested? Platform-as-a-Service (PaaS) for orchestration

More information

How To Start Mysql Use Linux Command Line Client In Xampp

How To Start Mysql Use Linux Command Line Client In Xampp How To Start Mysql Use Linux Command Line Client In Xampp It also assumes that you're familiar with the MySQL command-line client and that you And since both Amazon and Bitnami have a free tier, you can

More information

Technical Architecture & Analysis

Technical Architecture & Analysis Technical Architecture & Analysis HS2 Technical Architecture & Analysis 15 October 2012 Anton Palitsyn 020 7426 8920 anton.palitsyn@precedent.co.uk Contents Contents... 2 Document info... 3 Authors...

More information

WHO'S TALKING? Edvinas Aleksejonokas Member of OXID core team Joined two years ago

WHO'S TALKING? Edvinas Aleksejonokas Member of OXID core team Joined two years ago OXID VM & SDK WHO'S TALKING? Edvinas Aleksejonokas Member of OXID core team Joined two years ago WHO'S TALKING? HONESTLY... A person who was really feed up by the fact that: Everyone had their own dev-env

More information

Drupal Command Line Instructions Windows 7 Networking >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 Networking >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 Networking Applying patches, modifying files according to instructions in the patch file, is the This page only deals with some basic principles using the command

More information

INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari

INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari INDIGO PAAS TUTORIAL RIA-653549! Marica Antonacci!! marica.antonacci@ba.infn.it! INFN-Bari INDIGO PAAS Tutorial Introductory Concepts TOSCA Ansible Docker Orchestrator APIs INDIGO TOSCA custom types and

More information

Webcart Documentation

Webcart Documentation Webcart Documentation Webcart E-Commerce Solution Webcart is a powerful multi-store shopping cart software that can help you to start and manage your online stores with ease. It supports multiple storefronts

More information

Migration Tool. User Guide. SHOPIFY to MAGENTO. Copyright 2014 LitExtension.com. All Rights Reserved.

Migration Tool. User Guide. SHOPIFY to MAGENTO. Copyright 2014 LitExtension.com. All Rights Reserved. SHOPIFY to MAGENTO Migration Tool User Guide Copyright 2014 LitExtension.com. All Rights Reserved. Shopify to Magento Migration Tool: User Guide Page 1 Contents 1. Preparation... 3 2. Set-up... 3 3. Set-up...

More information

Ansible Cookbook 2014

Ansible Cookbook 2014 René Moser Tue Nov 25 23:13:45 UTC 2014 1 Contents Contents Intro 4 Basics 5 How do I use all hosts data in my play or template? 6 Solution................................................... 6 Explanation.................................................

More information

Create an application with local persistent volumes

Create an application with local persistent volumes Local Persistent Volumes When you specify a local volume or volumes, tasks and their associated data are pinned to the node they are first launched on and will be relaunched on that node if they terminate.

More information

How To Install Joomla Component 2.5 On Wamp Server 2.1

How To Install Joomla Component 2.5 On Wamp Server 2.1 How To Install Joomla Component 2.5 On Wamp Server 2.1 1 Create a Place on Your Remote Host to Install Joomla! 2 Copy Files and 2.1 Upload all Files by FTP, 2.2 Upload a Compressed File. 3 Copy the Contents

More information

Adding Transparency and Automation into the Galaxy Tool Installation Process

Adding Transparency and Automation into the Galaxy Tool Installation Process Adding Transparency and Automation into the Galaxy Tool Installation Process Enis Afgan Johns Hopkins University Galaxy Team Galaxy Admins Web Meetup August 20, 2015. Outline Installing tools in bulk (i.e.,

More information

OpenShift Container Platform 3.9

OpenShift Container Platform 3.9 OpenShift Container Platform 3.9 Ansible Playbook Bundle Development Guide Developing with Ansible Playbook Bundle (APB) Last Updated: 2018-07-30 OpenShift Container Platform 3.9 Ansible Playbook Bundle

More information

Drupal Command Line Instructions Windows 7 List >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 List >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 List Drush is a command-line interface for Drupal that provides a wide set of utilities directory in your home, or the aliases directory of your local Drush installation.

More information

BUILDING, DEPLOYING AND MAINTAINING DRUPAL SITES LIKE A PRO. Bob Kepford Mediacurrent.com TheWeeklyDrop.com

BUILDING, DEPLOYING AND MAINTAINING DRUPAL SITES LIKE A PRO. Bob Kepford Mediacurrent.com TheWeeklyDrop.com BUILDING, DEPLOYING AND MAINTAINING DRUPAL SITES LIKE A PRO Bob Kepford Mediacurrent.com TheWeeklyDrop.com DEV -> STAGE -> PRODUCTION A sane workflow. HOW? Drush + Features + hook_update_n + Git + SSH

More information

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY

GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY GIT FOR SYSTEM ADMINS JUSTIN ELLIOTT PENN STATE UNIVERSITY 1 WHAT IS VERSION CONTROL? Management of changes to documents like source code, scripts, text files Provides the ability to check documents in

More information

SQL Server inside a docker container. Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018

SQL Server inside a docker container. Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018 SQL Server inside a docker container Christophe LAPORTE SQL Server MVP/MCM SQL Saturday 735 Helsinki 2018 Christophe LAPORTE ~ since 1997 : SQL 6.5 / WinNT4 christophe_laporte@hotmail.fr http://conseilit.wordpress.com/

More information

PHP-Einführung - Lesson 8 - Composer (Dependency manager) and JSON. Alexander Lichter June 27, 2017

PHP-Einführung - Lesson 8 - Composer (Dependency manager) and JSON. Alexander Lichter June 27, 2017 PHP-Einführung - Lesson 8 - Composer (Dependency manager) and JSON Alexander Lichter June 27, 2017 Content of this lesson 1. Recap 2. Composer 3. JSON 4. Collections (next lesson) 1 Recap Recap Recap Recap

More information

Magento Migration Tool. User Guide. Shopify to Magento. Bigcommerce to Magento. 3DCart to Magento

Magento Migration Tool. User Guide. Shopify to Magento. Bigcommerce to Magento. 3DCart to Magento Magento Migration Tool User Guide Shopify to Magento Bigcommerce to Magento 3DCart to Magento Copyright 2015 LitExtension.com. All Rights Reserved. Page 1 Contents 1. Preparation... 3 2. Setup... 4 3.

More information

pistahx type safe, design first, haxe web api by Emmanuel BOTROS YOUSSEF / mebyz

pistahx type safe, design first, haxe web api by Emmanuel BOTROS YOUSSEF / mebyz pistahx type safe, design first, haxe web api github.com/mebyz/pistahx - pistahx.io by Emmanuel BOTROS YOUSSEF / mebyz emmanuel.botros@gmail.com pistahx (disclamer!) : pistahx is an open-source work in

More information

Drupal Command Line Instructions Windows 7 List Files >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 List Files >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 List Files Getting the Open Atrium files Before you can install Open Atrium, you need to get the files. There are (NOTE: These instructions are for *nix-based

More information

Drupal Command Line Instructions Windows 7 Network >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 Network >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 Network The command line patch utility can run on Windows natively with GnuWin32 or Unxutils, or via Instructions for applying patches using TortoiseSVN are available

More information

Using Docker for fast and easy testing of MariaDB and MaxScale

Using Docker for fast and easy testing of MariaDB and MaxScale Using Docker for fast and easy testing of MariaDB and MaxScale Alessandro Fustini Andrea Tosatto Alessandro Fustini Senior Java Developer MariaDB Expert Leading R&D at ColtEngine Certified MySQL DBA Andrea

More information

Improving the Magento 2 Developer Experience

Improving the Magento 2 Developer Experience Improving the Magento 2 Developer Experience Alan Kent Magento Chief Architect Consistent Magento 2 Feedback I have been working on some larger Magento 2.1 EE solutions for a few months now and I really

More information

CV. Techno Media Pratama. Hari Pratomo [COURIER MANAGEMENT SYSTEM]

CV. Techno Media Pratama. Hari Pratomo [COURIER MANAGEMENT SYSTEM] 2017 CV. Techno Media Pratama Hari Pratomo [COURIER MANAGEMENT SYSTEM] Courier Management System is a program that is sent or designed to facilitate the delivery business. Courier Management System Demo

More information

The age of orchestration

The age of orchestration The age of orchestration From Docker basics to cluster management NICOLA PAOLUCCI DEVELOPER INSTIGATOR ATLASSIAN @DURDN Three minute Docker intro? Time me and ring a bell if I am over it. Just kidding

More information

The Long Road from Capistrano to Kubernetes

The Long Road from Capistrano to Kubernetes The Long Road from Capistrano to Kubernetes Tobias Schwab, Co-Founder of PhraseApp Slides: http://bit.ly/cap-to-kube How to deploy Ruby on Rails? Deploying Ruby on Rails required on all servers: OS + system

More information

Table of Contents. Drupal Console

Table of Contents. Drupal Console Table of Contents Drupal Console Documentation What is the Drupal Console Why should you care about? How does Drupal Console help? Where do I find the project? Getting the project Using the Installer Installing

More information

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers OpenShift 3 Technical Architecture Clayton Coleman, Dan McPherson Lead Engineers Principles The future of *aas Redefine the Application Networked components wired together Not just a web frontend anymore

More information

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI /

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI / Index A Agent platforms, 10 system and user capabilities, 10 Agent pool add user, 12 assign permissions, 55 56 default pool, 8 hosted Linux pool, 8 hosted pool, 7 set up assign administrator role, 45 auto-provision

More information

DEVOPS COURSE CONTENT

DEVOPS COURSE CONTENT LINUX Basics: Unix and linux difference Linux File system structure Basic linux/unix commands Changing file permissions and ownership Types of links soft and hard link Filter commands Simple filter and

More information

Behat Drupal Integration Documentation

Behat Drupal Integration Documentation Behat Drupal Integration Documentation Release 1.1 Brendan MacDonald Jul 19, 2017 Contents 1 Introduction 3 2 System Requirements 5 3 Installation 7 4 Adding it to an existing project 9 5 Initial setup

More information

WHITE PAPER AUGUST 2017 AN INTRODUCTION TO BOSH. by VMware

WHITE PAPER AUGUST 2017 AN INTRODUCTION TO BOSH. by VMware WHITE PAPER AUGUST 2017 AN INTRODUCTION TO by ware Table of Contents What is?...3 Overview...3 What Problems Does Solve?... 4 Use Cases... 6 Deploying...8 Architecture...8 References...8 CookBook: How

More information

SLI Learning Search Connect For Magento 2

SLI Learning Search Connect For Magento 2 SLI Learning Search Connect For Magento 2 User Guide v1.2.2 The Learning Search Connect module integrates with SLI Systems Search and provides an outstanding level of search customizability. Contents 1.

More information

OSM Hackfest Session 6 Performance & Fault Management Benjamín Díaz (Whitestack)

OSM Hackfest Session 6 Performance & Fault Management Benjamín Díaz (Whitestack) OSM Hackfest Session 6 Performance & Fault Management Benjamín Díaz (Whitestack) Introduction Performance and Fault Management capabilities have made important progress in Release FIVE. At the time of

More information

LENS Server Maintenance Guide JZ 2017/07/28

LENS Server Maintenance Guide JZ 2017/07/28 LENS Server Maintenance Guide JZ 2017/07/28 Duty Maintain LENS server with minimum downtime Patch critical vulnerabilities Assist LAB member for using the LENS services Evaluate for custom requirements

More information

upaas Documentation Release 0.2 Łukasz Mierzwa

upaas Documentation Release 0.2 Łukasz Mierzwa upaas Documentation Release 0.2 Łukasz Mierzwa January 06, 2014 Contents 1 Release notes 3 1.1 About upaas............................................... 3 1.2 Changelog................................................

More information

Lab 4: Configuring node.js apps with ATP

Lab 4: Configuring node.js apps with ATP Lab 4: Configuring node.js apps with ATP Autonomous Transaction Processing provides all of the performance of the market-leading Oracle Database in an environment that is tuned and optimized for transaction

More information