Developing IOS Applications in a team environment requires integration and continuous builds. This presentation shows how to develop this with your team.
Deploy a compute instance with a remote startup scriptMahmmoud Mahdi
This document provides instructions for deploying a Linux compute instance on Google Cloud that installs the Apache web server using a remote startup script. It describes creating a storage bucket to hold the startup script, creating a compute instance and configuring its metadata to reference the script, opening necessary firewall ports, and testing connectivity to confirm successful installation of Apache. The solution automates this process through a script that handles creating the bucket and uploading the startup script, creating the instance and applying the necessary metadata and firewall configurations, and checking that the startup script executed properly and the instance is accessible over HTTP.
Google cloud essential skills challenge labMahmmoud Mahdi
Demonstrate the solution of Google Cloud Essential Skill Challenge lab
This lab found in Qwiklab catalogue and GCP Coursera lab
Youtube: https://youtu.be/7yefxwOcwx8
Helpful pre commit hooks for Python and Djangoroskakori
Pre-commit hooks can help to keep your source code consistent and discover broken code before it makes it into the repository. This lightning talk describes pre-commit hooks that can be helpful when developing with Python, especially when using the Django framework. It also provides consistent example configurations for hooks that have conflicting defaults.
This document provides steps to set up Elastic Search on an Ubuntu server including installing Apache, PHP, Java, Elastic Search server, the Elastic Search PHP API, and testing PHP scripts connecting to Elastic Search. It outlines downloading required files, running commands to install packages and configure services, and testing the basic functionality.
This document provides an overview and agenda for Phase 2 of the Couch to OpenStack program. It includes logistics information about how to access recordings and labs. It describes that Phase 2 will build upon Phase 1 by guiding users through additional OpenStack tasks over 12 weekly sessions, such as upgrading distributions, adding compute nodes, managing images/instances, networking with Neutron, high availability, and PaaS capabilities. Instructions are provided for downloading the necessary tools and cloning the GitHub project to launch the virtual environment and review commands from Phase 1 like listing services, creating networks, and booting an instance.
Modern Infrastructure from Scratch with PuppetPuppet
This document provides an overview of how to get started with Puppet to automate infrastructure from scratch. It defines the key components of the infrastructure including virtualization with Vagrant, version control with Git, configuration management with Puppet, test and deployment automation with Jenkins, log aggregation with ELK, and monitoring with Sensu. It describes modeling the infrastructure with roles, profiles, classes and modules in Puppet and using Hiera for data abstraction. It also demonstrates setting up the infrastructure with links to running services.
You have a minimum viable product or high fidelity prototype. Your venture is lucky enough to get an interest from first customers. The problem is that your software product lacks the main feature – stability. This might spoil the opportunity.
Open Source Saturday - How can I contribute to Ruby on Rails?Pravin Mishra
Making your first contribution to an open source library can be very daunting. If you’re like me, I was/am nagged by self-doubt and a fear that I would/will “do it wrong.” I worry about the mocking of other developers, all solidified by years of open source contributions.
If you are stuck in the self-doubt phase, but want to jump in, you may be asking “What’s the first step?” or “How do I contribute?” Well, We aim to answer those kinds of questions by walking you through steps.
Deploy a compute instance with a remote startup scriptMahmmoud Mahdi
This document provides instructions for deploying a Linux compute instance on Google Cloud that installs the Apache web server using a remote startup script. It describes creating a storage bucket to hold the startup script, creating a compute instance and configuring its metadata to reference the script, opening necessary firewall ports, and testing connectivity to confirm successful installation of Apache. The solution automates this process through a script that handles creating the bucket and uploading the startup script, creating the instance and applying the necessary metadata and firewall configurations, and checking that the startup script executed properly and the instance is accessible over HTTP.
Google cloud essential skills challenge labMahmmoud Mahdi
Demonstrate the solution of Google Cloud Essential Skill Challenge lab
This lab found in Qwiklab catalogue and GCP Coursera lab
Youtube: https://youtu.be/7yefxwOcwx8
Helpful pre commit hooks for Python and Djangoroskakori
Pre-commit hooks can help to keep your source code consistent and discover broken code before it makes it into the repository. This lightning talk describes pre-commit hooks that can be helpful when developing with Python, especially when using the Django framework. It also provides consistent example configurations for hooks that have conflicting defaults.
This document provides steps to set up Elastic Search on an Ubuntu server including installing Apache, PHP, Java, Elastic Search server, the Elastic Search PHP API, and testing PHP scripts connecting to Elastic Search. It outlines downloading required files, running commands to install packages and configure services, and testing the basic functionality.
This document provides an overview and agenda for Phase 2 of the Couch to OpenStack program. It includes logistics information about how to access recordings and labs. It describes that Phase 2 will build upon Phase 1 by guiding users through additional OpenStack tasks over 12 weekly sessions, such as upgrading distributions, adding compute nodes, managing images/instances, networking with Neutron, high availability, and PaaS capabilities. Instructions are provided for downloading the necessary tools and cloning the GitHub project to launch the virtual environment and review commands from Phase 1 like listing services, creating networks, and booting an instance.
Modern Infrastructure from Scratch with PuppetPuppet
This document provides an overview of how to get started with Puppet to automate infrastructure from scratch. It defines the key components of the infrastructure including virtualization with Vagrant, version control with Git, configuration management with Puppet, test and deployment automation with Jenkins, log aggregation with ELK, and monitoring with Sensu. It describes modeling the infrastructure with roles, profiles, classes and modules in Puppet and using Hiera for data abstraction. It also demonstrates setting up the infrastructure with links to running services.
You have a minimum viable product or high fidelity prototype. Your venture is lucky enough to get an interest from first customers. The problem is that your software product lacks the main feature – stability. This might spoil the opportunity.
Open Source Saturday - How can I contribute to Ruby on Rails?Pravin Mishra
Making your first contribution to an open source library can be very daunting. If you’re like me, I was/am nagged by self-doubt and a fear that I would/will “do it wrong.” I worry about the mocking of other developers, all solidified by years of open source contributions.
If you are stuck in the self-doubt phase, but want to jump in, you may be asking “What’s the first step?” or “How do I contribute?” Well, We aim to answer those kinds of questions by walking you through steps.
This document provides instructions for contributing to Apache CloudStack by translating documentation or building packages. It outlines the translation process using Transifex, how to build and package CloudStack using Maven, and future release schedules including a documentation sprint for Japanese translations in June/July.
1) The document describes how to create a .NET Core web API application using 4 Docker containers: NGINX load balancer, 2 Core API containers, and a MySQL database container.
2) The Core API containers are built from a Dockerfile and published to Ubuntu containers on the Docker network with static IPs.
3) The MySQL container is run on the network.
4) An NGINX container is built from a Dockerfile using an NGINX configuration file for load balancing, and run on the network.
This document discusses how to use the Hoe gem to automate the creation and sharing of Ruby gems. It recommends installing Hoe with the --include-dependencies flag to also install Rubyforge. Using Hoe sets up a gem project with common files and tasks like testing, checking the manifest, building the gem, and publishing documentation.
Setup Kubernetes with flannel on ubuntu platformAjeet Singh
This document provides instructions for setting up Kubernetes with 2 nodes using kubeadm and flannel on Ubuntu. It describes installing Docker and Kubernetes, initializing the master node with kubeadm init, joining the worker node with the kubeadm join command, installing and configuring flannel as the pod network, and deploying and exposing the Kubernetes dashboard for management. Specific steps include installing Docker, initializing the master, saving the join command, installing flannel on all nodes, joining the worker, installing the dashboard and changing its service type to NodePort for external access.
Алексей Коростелев рассказал как работает Magento Cloud и не только. Еще он поделился опытом настройки собственного масштабируемого кластера в AWS c особенностями деплоя.
tech node.js developer how to deploy apps to heroku, and how to quick setup heroku.
it is for all over platform, whatever your platform is, can follow steps to deploy to heroku.
Adam Culp will talk about using Vagrant to create and manage virtualized development environments, making it easier to mirror production servers. Then will cover using Puppet for more advanced provisioning, making the addition of multiple development environments and servers easier and faster.
If you’re developing and are not sure what these technologies are, this talk is for you. As a developer it’s increasingly important to ensure our development, testing, staging, and production environments are as closely matched to each other as possible, alleviating the “can’t reproduce it on my machine” excuses. Whether you use 2, 3, or 4 of these environments is of less importance if they are all built on the same “stack” of applications.
This document provides instructions for installing and configuring nginx, uWSGI, and a simple Python Bottle application on an Ubuntu server. It describes installing necessary packages like nginx, uWSGI, Bottle and its dependencies. It then provides details on configuring uWSGI as an emperor to manage applications, creating a simple test app, writing the uWSGI and nginx configuration files, and testing the running application.
This document discusses setting up an automated Jenkins continuous integration environment using VirtualBox, Vagrant, Ansible, Ubuntu, and Nginx. It describes provisioning a virtual machine with Vagrant and Ansible playbooks to install Jenkins, then configuring Nginx on port 8080 to proxy requests to the Jenkins server. The software used includes VirtualBox, Ansible, Vagrant, Ubuntu, Jenkins, Nginx, AWS, Git, GitHub, and SourceTree.
This document discusses using Capistrano to deploy Drupal applications. It covers prerequisites, installing Capistrano, configuring deploy stages and servers, and customizing the deploy process. Drupal-specific tasks are added to backup the database, import configurations, clear caches, and set the site offline/online during deployment. The deploy flow is modified to run these tasks before and after Capistrano's default deploy steps. Jenkins can be configured to run the Capistrano deployment scripts for continuous integration.
Vagrant allows developers to run identical development environments by configuring and provisioning virtual machines. It helps match the development and production environments. To use Vagrant, install VirtualBox, Vagrant, and a base box image. The Vagrantfile configures settings like the hostname, IP, shared folders, and provisioning steps. Common commands include vagrant up to run the virtual machine, vagrant halt to shut it down, and vagrant destroy to remove it. Vagrant can also package custom virtual machine images to share.
Extending Foreman the easy way with foreman_hooksDominic Cleal
Foreman sits at the intersection of lots of systems - those that we know about, like DHCP or DNS, but also many that are unique to your business or technologies. In this talk, we'll introduce foreman_hooks, a plugin to quickly extend Foreman with shell scripts to solve these integration problems.
Simple webapps with nginx, uwsgi emperor and bottleJordi Soucheiron
Bottle is a small microframework that lets you build simple python webapps in a few minutes. This talk will explain how to build simple webapp from scratch and configure your system to deploy many other apps concurrently with a rock solid and scalable setup.
The document discusses the author's experience installing software both with and without Docker. Installing without Docker was a "miserable experience" with issues like the software not working, needing to install additional dependencies, modifying sources and rebuilding, incorrect path configurations, installing other versions, and eventually reinstalling the OS just to get it to work, though the reason it finally worked was unknown. Installing with Docker was much simpler - just install Docker, get the Docker image or Dockerfile for the app, and run it. With Docker, containers are isolated so new installations never conflict with existing ones. The author concludes that Docker makes installation a better experience.
Vagrant is a tool that allows developers to easily create and configure development environments running on virtual machines. It ensures that the environment is consistent across different machines by allowing developers to define the environment configuration in a file. With Vagrant, developers can bring up virtual machines with all required development software with a single command, share files between their local machine and the virtual machine, and collaborate with others by sharing virtual machine configurations.
This document provides instructions for creating your own Ruby gem with GitHub, Jeweler, and RubyGems. It outlines setting up a GitHub account and RubyGems account, using Jeweler to generate the gem scaffolding and Rakefile, writing a description, committing to a GitHub repository, locally installing and releasing the gem to RubyGems.org with the rake release task. It concludes with reminders to add documentation and tests to the new gem.
Vagrant allows users to easily create and configure virtual development environments. The document outlines a 5 step process to get started with Vagrant: 1) select a virtualization provider like VirtualBox, 2) install Vagrant, 3) download a virtual machine image or "box", 4) initialize and start the VM with Vagrant commands, and 5) log into the VM via SSH. It also discusses additional features like version controlling Vagrant files, customizing the VM, using multiple VMs, and provisioning VMs with tools like Puppet, Chef, or Ansible.
Vagrant hands on workshop for beginnersLiora Milbaum
This document outlines an agenda for a hands-on workshop on Vagrant for beginners. The agenda includes introductions to Vagrant and VirtualBox, the Vagrant and VirtualBox workflow, getting and configuring base boxes, and provisioning virtual machines using shell scripts. The workshop demonstrates how to use Vagrant to create lightweight reproducible development environments across different operating systems and configuration management tools.
This document discusses using Capistrano, an open source tool for automating software deployments. It describes some of the issues with manual deployment processes and why automation is needed. Capistrano allows developers to deploy applications by writing scripts that execute commands remotely via SSH. It handles tasks like updating code, databases, and symlinking shared files. Capistrano provides a consistent, secure way for developers to deploy applications while still giving system administrators control over server environments.
The document discusses continuous integration, which describes software engineering practices that decrease integration times and allow for near-immediate feedback. It involves integrating code and running tests after each code commit. This allows errors to be detected rapidly. Benefits include minimizing integration risk, easier defect diagnosis, and enabling good practices like test-driven development.
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Endava
Setting up a Jenkins server is very useful for an iOS project and can be worthwhile. We will find out what are the advantages of using continuous integration on our projects, what options do we have and how to setup a job to suit our needs.
This document provides instructions for contributing to Apache CloudStack by translating documentation or building packages. It outlines the translation process using Transifex, how to build and package CloudStack using Maven, and future release schedules including a documentation sprint for Japanese translations in June/July.
1) The document describes how to create a .NET Core web API application using 4 Docker containers: NGINX load balancer, 2 Core API containers, and a MySQL database container.
2) The Core API containers are built from a Dockerfile and published to Ubuntu containers on the Docker network with static IPs.
3) The MySQL container is run on the network.
4) An NGINX container is built from a Dockerfile using an NGINX configuration file for load balancing, and run on the network.
This document discusses how to use the Hoe gem to automate the creation and sharing of Ruby gems. It recommends installing Hoe with the --include-dependencies flag to also install Rubyforge. Using Hoe sets up a gem project with common files and tasks like testing, checking the manifest, building the gem, and publishing documentation.
Setup Kubernetes with flannel on ubuntu platformAjeet Singh
This document provides instructions for setting up Kubernetes with 2 nodes using kubeadm and flannel on Ubuntu. It describes installing Docker and Kubernetes, initializing the master node with kubeadm init, joining the worker node with the kubeadm join command, installing and configuring flannel as the pod network, and deploying and exposing the Kubernetes dashboard for management. Specific steps include installing Docker, initializing the master, saving the join command, installing flannel on all nodes, joining the worker, installing the dashboard and changing its service type to NodePort for external access.
Алексей Коростелев рассказал как работает Magento Cloud и не только. Еще он поделился опытом настройки собственного масштабируемого кластера в AWS c особенностями деплоя.
tech node.js developer how to deploy apps to heroku, and how to quick setup heroku.
it is for all over platform, whatever your platform is, can follow steps to deploy to heroku.
Adam Culp will talk about using Vagrant to create and manage virtualized development environments, making it easier to mirror production servers. Then will cover using Puppet for more advanced provisioning, making the addition of multiple development environments and servers easier and faster.
If you’re developing and are not sure what these technologies are, this talk is for you. As a developer it’s increasingly important to ensure our development, testing, staging, and production environments are as closely matched to each other as possible, alleviating the “can’t reproduce it on my machine” excuses. Whether you use 2, 3, or 4 of these environments is of less importance if they are all built on the same “stack” of applications.
This document provides instructions for installing and configuring nginx, uWSGI, and a simple Python Bottle application on an Ubuntu server. It describes installing necessary packages like nginx, uWSGI, Bottle and its dependencies. It then provides details on configuring uWSGI as an emperor to manage applications, creating a simple test app, writing the uWSGI and nginx configuration files, and testing the running application.
This document discusses setting up an automated Jenkins continuous integration environment using VirtualBox, Vagrant, Ansible, Ubuntu, and Nginx. It describes provisioning a virtual machine with Vagrant and Ansible playbooks to install Jenkins, then configuring Nginx on port 8080 to proxy requests to the Jenkins server. The software used includes VirtualBox, Ansible, Vagrant, Ubuntu, Jenkins, Nginx, AWS, Git, GitHub, and SourceTree.
This document discusses using Capistrano to deploy Drupal applications. It covers prerequisites, installing Capistrano, configuring deploy stages and servers, and customizing the deploy process. Drupal-specific tasks are added to backup the database, import configurations, clear caches, and set the site offline/online during deployment. The deploy flow is modified to run these tasks before and after Capistrano's default deploy steps. Jenkins can be configured to run the Capistrano deployment scripts for continuous integration.
Vagrant allows developers to run identical development environments by configuring and provisioning virtual machines. It helps match the development and production environments. To use Vagrant, install VirtualBox, Vagrant, and a base box image. The Vagrantfile configures settings like the hostname, IP, shared folders, and provisioning steps. Common commands include vagrant up to run the virtual machine, vagrant halt to shut it down, and vagrant destroy to remove it. Vagrant can also package custom virtual machine images to share.
Extending Foreman the easy way with foreman_hooksDominic Cleal
Foreman sits at the intersection of lots of systems - those that we know about, like DHCP or DNS, but also many that are unique to your business or technologies. In this talk, we'll introduce foreman_hooks, a plugin to quickly extend Foreman with shell scripts to solve these integration problems.
Simple webapps with nginx, uwsgi emperor and bottleJordi Soucheiron
Bottle is a small microframework that lets you build simple python webapps in a few minutes. This talk will explain how to build simple webapp from scratch and configure your system to deploy many other apps concurrently with a rock solid and scalable setup.
The document discusses the author's experience installing software both with and without Docker. Installing without Docker was a "miserable experience" with issues like the software not working, needing to install additional dependencies, modifying sources and rebuilding, incorrect path configurations, installing other versions, and eventually reinstalling the OS just to get it to work, though the reason it finally worked was unknown. Installing with Docker was much simpler - just install Docker, get the Docker image or Dockerfile for the app, and run it. With Docker, containers are isolated so new installations never conflict with existing ones. The author concludes that Docker makes installation a better experience.
Vagrant is a tool that allows developers to easily create and configure development environments running on virtual machines. It ensures that the environment is consistent across different machines by allowing developers to define the environment configuration in a file. With Vagrant, developers can bring up virtual machines with all required development software with a single command, share files between their local machine and the virtual machine, and collaborate with others by sharing virtual machine configurations.
This document provides instructions for creating your own Ruby gem with GitHub, Jeweler, and RubyGems. It outlines setting up a GitHub account and RubyGems account, using Jeweler to generate the gem scaffolding and Rakefile, writing a description, committing to a GitHub repository, locally installing and releasing the gem to RubyGems.org with the rake release task. It concludes with reminders to add documentation and tests to the new gem.
Vagrant allows users to easily create and configure virtual development environments. The document outlines a 5 step process to get started with Vagrant: 1) select a virtualization provider like VirtualBox, 2) install Vagrant, 3) download a virtual machine image or "box", 4) initialize and start the VM with Vagrant commands, and 5) log into the VM via SSH. It also discusses additional features like version controlling Vagrant files, customizing the VM, using multiple VMs, and provisioning VMs with tools like Puppet, Chef, or Ansible.
Vagrant hands on workshop for beginnersLiora Milbaum
This document outlines an agenda for a hands-on workshop on Vagrant for beginners. The agenda includes introductions to Vagrant and VirtualBox, the Vagrant and VirtualBox workflow, getting and configuring base boxes, and provisioning virtual machines using shell scripts. The workshop demonstrates how to use Vagrant to create lightweight reproducible development environments across different operating systems and configuration management tools.
This document discusses using Capistrano, an open source tool for automating software deployments. It describes some of the issues with manual deployment processes and why automation is needed. Capistrano allows developers to deploy applications by writing scripts that execute commands remotely via SSH. It handles tasks like updating code, databases, and symlinking shared files. Capistrano provides a consistent, secure way for developers to deploy applications while still giving system administrators control over server environments.
The document discusses continuous integration, which describes software engineering practices that decrease integration times and allow for near-immediate feedback. It involves integrating code and running tests after each code commit. This allows errors to be detected rapidly. Benefits include minimizing integration risk, easier defect diagnosis, and enabling good practices like test-driven development.
Continuos integration with Jenkins for iOS | SuperSpeakers@CodeCamp Iasi, 2014Endava
Setting up a Jenkins server is very useful for an iOS project and can be worthwhile. We will find out what are the advantages of using continuous integration on our projects, what options do we have and how to setup a job to suit our needs.
Travis CI is a hosted continuous integration service that is integrated with GitHub. It monitors GitHub projects, runs tests, provides feedback, builds artifacts, checks code quality, and can deploy to cloud services. Compared to Jenkins, Travis CI is a commercial service that emphasizes convention over configuration and is easier to use, while Jenkins is open-source and more flexible. Travis CI automatically runs builds when code is pushed to GitHub, using fresh virtual machine environments for each build to provide a clean build environment. It supports over 20 programming languages and deployment to various cloud services.
This document discusses dockerizing and vagrantizing Appium. It begins with an overview and then discusses visualizing the Appium installation process. It notes that installing Appium can be painful due to its dependencies. It then discusses using Docker and Docker Toolbox to provision Android Appium in containers more easily. It provides commands for pulling an Appium Docker image and running Appium in Docker containers. Finally, it briefly mentions using Vagrant and Ansible to provision Appium.
This document discusses continuous integration (CI) options for iOS development. It compares using Xcode's GUI on a Mac workstation versus using the xcodebuild command line tool with CircleCI. It also introduces the fastlane tool for automating builds and deployments, and mentions using CircleCI with a Mac VM for running fastlane and distributing via an Apple Enterprise program.
This document discusses continuous integration for iOS projects using Jenkins. It describes the iOS app distribution process and practices of continuous integration. It provides an overview of configuring a Jenkins slave on a Mac and creating jobs. It also describes Netcetera's custom build system using Rake tasks for building, testing, packaging and deploying iOS apps. Benefits include not depending on a specific Xcode version and having control over the build process. Improvements could include automating certificate installation and adding code quality checks.
The document discusses testing PHP code through test-driven development (TDD) and behavior-driven development (BDD). It introduces PHPUnit for writing unit tests in PHP and demonstrates writing tests before code using TDD principles. Key benefits of testing like short feedback cycles and enforcing code quality through tests are also covered. Examples of unit tests for a User class are provided to illustrate the TDD process of writing tests first, making them fail, then writing code to pass the tests.
Eclipse Orion: The IDE in the Clouds (JavaOne 2013)Murat Yener
The document introduces Eclipse Orion, an open source web-based integrated development environment (IDE) that allows software development within a browser. It discusses how Orion provides code editing, debugging, version control, and other development tools through a browser without needing to install anything. It also describes how Orion uses plugins to extend its functionality and can be self-hosted or used on the public OrionHub server.
From development environments to production deployments with Docker, Compose,...Jérôme Petazzoni
In this session, we will learn how to define and run multi-container applications with Docker Compose. Then, we will show how to deploy and scale them seamlessly to a cluster with Docker Swarm; and how Amazon EC2 Container Service (ECS) eliminates the need to install,operate, and scale your own cluster management infrastructure. We will also walk through some best practice patterns used by customers for running their microservices platforms or batch jobs. Sample code and Compose templates will be provided on GitHub afterwards.
This document discusses continuous integration from unit tests to hardware. It describes how continuous integration helps ensure quality by automatically building and testing software anytime code changes are committed. The speaker's company Forget Box uses Jenkins for continuous integration to build and test their iOS app daily. Plugins and scripts can be used in Jenkins to run unit tests, compute code coverage, package apps, and deploy to test devices. Continuous integration helps developers catch bugs early and "never break the build again."
This document discusses continuous integration for iOS projects. It describes the iOS app distribution process and practices of continuous integration like automating builds and testing. It provides an overview of using Jenkins to configure Mac slaves and jobs for iOS builds. It also describes Netcetera's custom build system using Rake tasks to build, test, package and deploy iOS apps. Benefits include control over the build process and project state while improvements could include automating certificate installation and code quality checks.
This document discusses scaling a Jenkins master using Docker. It describes how the company Wyplay was using a single Jenkins master to manage over 500 jobs, which led to performance and reliability issues. It then explains how Wyplay set up multiple Docker containers running Jenkins masters to address these issues. It provides details on installing and configuring Jenkins in Docker containers, managing plugins, backups, and monitoring across multiple containerized masters. Finally, it discusses future directions like using orchestration tools and programmatically configuring Jenkins systems.
This document introduces Express, a web development framework for Node.js, and Grunt, a JavaScript task runner. It describes Express as fast, lightweight, and minimalist, noting that it includes only necessary features. Grunt is presented as a tool for automating tasks like minification, compilation, unit testing and linting. The document provides instructions on setting up projects with Express and Grunt, demonstrating how to define tasks in a Gruntfile and develop custom tasks.
The document discusses Apache CloudStack, an open-source cloud computing platform. It provides an overview of CloudStack's history and community. It also describes how to set up a development environment using DevCloud, a preconfigured virtual appliance for running CloudStack. Key points include that CloudStack is now fully open source under Apache 2.0 license, has a 4.1 release with new features, and DevCloud provides an easy way for developers to test CloudStack without installing infrastructure.
A dive into Ionic Framework. What is it, why should you use it, how can it work for you and we build a basic application to show how easy and fast it is to use.
Docker: Up and Running Introduction was a tech talk given at Code Youngstown on April 27, 2017 at the Drund office in Boardman, Ohio. The target audience is complete beginners to Docker and containers in general.
This document discusses using Jenkins and Docker together for continuous integration and continuous delivery (CI/CD) workflows. It provides an overview of continuous integration, continuous delivery, Jenkins, and Docker. It then demonstrates setting up a CI/CD pipeline using Jenkins and Docker to build, test, and deploy a sample voting application across multiple Docker nodes. The pipeline includes building Docker images from source code in Jenkins, running builds and tests on commits, and deploying updated images to a Docker swarm cluster.
JUC Europe 2015: Scaling Your Jenkins Master with DockerCloudBees
This document discusses scaling a Jenkins master using Docker. It describes how the company Wyplay was using a single Jenkins master to manage over 500 jobs, which led to performance and reliability issues. It then explains how Wyplay set up multiple Docker containers running Jenkins masters to address these problems. It provides details on installing and configuring Jenkins in Docker containers, managing plugins, backups, and monitoring across multiple containerized masters. Finally, it discusses future directions like using orchestration tools and programmatically configuring aspects of Jenkins.
DOD 2016 - Sebastian Krzyszkowiak - Jenkins: The PipelinePROIDEA
YouTube: https://www.youtube.com/watch?v=t1WM4IraoiM&list=PLnKL6-WWWE_VtIMfNLW3N3RGuCUcQkDMl&index=14
With the introduction of the Pipeline feature, Jenkins has made a great paradigm shift from its classic UI-based job configuration to a domain-specific language, providing bunch of major advantages when it comes to maintaining the continuous delivery cycle. While previously Jenkins worked best with sequential tasks with well-defined responsibilities and outcomes, now it has become possible to properly instrument the whole delivery process, including code reviews, testing and going through staging environments. Let's take a look at how to take most out of it and how does it compare now to other popular CI tools out there.
The document discusses the history of IntelliJ IDEA from 2000 to 2013. Some key points include:
- IntelliJ IDEA started as a plugin for JBuilder in 2000 and is now a product line of 8 IDEs, a compiler, and code browser.
- Over the years it has expanded its supported languages like JavaScript, Python, Ruby, and Groovy. New IDEs were also introduced like Android Studio, AppCode, PyCharm, and PhpStorm.
- The development practices focus on continuous integration, releasing early previews, addressing issues quickly, and relying more on automated acceptance tests than unit tests.
- The development model emphasizes flexibility over planning, with developers responsible for
Orchestrating Docker - Making the Whale DanceJames Turnbull
Docker hit the developer scene in a big way last year. It made it easy for developers to run their applications locally and easily share and deploy them. But it wasn't quite ready for prime-time. It wasn't easy to run n-tier applications locally, manage Docker across different geographical locations or cluster Docker for availability and performance.
Recent releases of Docker have introduced new capabilities and tools to help with these use cases. In this session we're going to look at these new capabilities including:
* Looking at Docker Compose for building n-tier Docker applications and managing application stacks.
* Introduce Docker Swarm which provides orchestration and clustering for Docker servers.
* See how to integrate Docker and service discovery tools.
By the end of the session, you'll have a good understanding of how to take your Docker implementation to the next level and make use of these new capabilities.
At Your Service: Using Jenkins in OperationsMandi Walls
This document provides an overview of using Jenkins for continuous integration and automation tasks. It begins with introducing Jenkins and its common uses. The presenter then explains that the workshop will provide examples of tasks that can be automated with Jenkins rather than being an exhaustive Jenkins tutorial. Examples of jobs that could be automated include continuously building a project, running tests, and checking for errors. The document walks through setting up a sample Jenkins project that checks out code files from a Git repository, builds them into an RPM package, adds the RPM to a repository, and loads the files onto a server. It provides details on configuring the project, scheduling automatic builds, and viewing the output of the initial test build.
Lecture 8 - Qooxdoo - Rap Course At The University Of SzegedFabian Jakobs
This presentation introduces the Qooxdoo JavaScript framework. Qooxdoo allows building rich desktop-style applications that run in a web browser. The presentation covers the architecture of Qooxdoo applications, the available widgets and layout managers, and demonstrates how to create a simple temperature converter application using test-driven development principles in Qooxdoo. Hands-on exercises guide attendees in using the Qooxdoo tooling and developing a basic user interface.
Off the Treadmill: Building a Drupal Platform for Your OrganizationRick Vugteveen
Drupal Distributions! We know and love Commons, Open Atrium, Open Publish, COD and other off the shelf projects. But what about your organization’s unique needs and use cases? You want to stop building websites and start building a repeatable system of your own. But how?
In this talk I share lessons learned from my time in Drupal consulting, including a one year establishing a common platform at a magazine publisher (30+ titles) as well as what I see on the front lines at Acquia. I want attendees to walk away with a vision to move from site building and into internal product development. For attendees already on this path I want to share lessons from my time in the trenches.
Specific takeaways:
How to get off the site building treadmill and into developing a product. “We don’t have the time” will no longer be an excuse.
How to deal with inconsistencies between sites. Decide what should be unique vs. what should be standardized.
Your love/hate relationship with Features (for example, how to deal with feature overrides).
How to deal with tricky upgrade path issues as your platform matures.
Introduction to Cocoapods as Dependency Management for iOS project using Swift. This slide will also introduce some of common library used in iOS Development: Alamofire, SwiftyJSON, MBProgressHUD.
Cloud Foundry is an open source platform as a service (PaaS) that supports building, deploying, and running applications on the cloud. It supports multiple frameworks like Java, Ruby, Scala, and Node.js and services like SQL, NoSQL, messaging, and analytics. Cloud Foundry uses a distributed architecture with no single point of failure and provides automatic scaling and self-healing capabilities.
Similar to Continuous Integration for IOS Apps (20)
The document discusses using Flutter for cross-platform game development. It provides an agenda that introduces Flutter, discusses whether it is suitable for games, and lists other cross-platform options. It also gives an overview of Flutter's capabilities, introduces the Flame game engine built on Flutter, and provides examples and resources for building games with Flutter.
This document provides an introduction to virtual reality using Unity and Google Cardboard. It outlines the agenda which includes an overview of virtual reality, the tools used including Google Cardboard, Unity, and smartphones. It then discusses design best practices for virtual reality to avoid simulator sickness and concludes with a demo and list of resources.
This document provides an overview and agenda for a presentation on cross-platform mobile game development. The presentation covers several topics: graphics tools for creating game assets like Gimp and Blender; audio tools like Audacity; mobile game frameworks including Corona, Unity, and Cocos2d-X; and a demo of the FTL effect for an invasion game. The document also summarizes key aspects of game development using Cocos2d-X like the game loop, director and node classes, scenes, layers, sprites, sprite batch nodes, and actions.
The document discusses an Android development class that will cover building a tip calculator app. The class will introduce Android, setup the development environment, and build the tip calculator app to calculate tip amounts and totals. It will also cover Scala, UI design, data storage, web services, debugging, and game development for Android. The instructor is Allan Davis and resources provided include his notes, video channel, slides, code repository, and book recommendations.
This document provides an overview of using Core Data for mobile applications. It discusses creating a data model, using NSManagedObjectContext to manage objects, UIManagedDocument for document management, generating object model classes, and performing basic CRUD operations. It also covers using NSFetchedResultsController to monitor fetch requests and update table views. An example TaskList app is presented to demonstrate these Core Data concepts.
This document discusses UI/UX design for a mobile app called Tracker Poker. It begins with an introduction and agenda, then covers the Human Interface Guide, designing prototypes, and using Interface Builder. It also provides an overview of the Tracker Poker app, which allows teams to vote on stories from Pivotal Tracker and sync votes to a web room.
This document provides information on CocoaPods, including how to install CocoaPods, create a Podfile to specify dependencies, run pod install to install dependencies, open the Xcode workspace, create Pod specs to publish libraries, and examples of Pod specs for the UrbanAirship library.
This document outlines an agenda for a class on learning Objective-C. It includes sessions on building a tip calculator, overviewing Objective-C concepts like classes and properties through a tic-tac-toe example, learning UI/UX through a task tracking app, using CoreData and networking through another example app, debugging techniques, and game development using Cocos2d. It also provides background on Objective-C's history and influence from Smalltalk and C, as well as resources for further learning Objective-C programming.
This document provides an agenda and overview for a mobile development class focusing on iOS. It introduces the instructor and covers topics like Objective-C, UI design, Core Data, networking, debugging, and distributing apps. It also demonstrates test-driven development using a tip calculator example. Resources for further learning like Apple's developer site and Stanford's iTunes U course are provided. The code examples will be made available on Github.
The document discusses plugins, generators, and gems in Ruby on Rails. Plugins are used to extend Rails functionality and are installed into a Rails application. Generators are Rails commands that generate code or files within an application. Gems are packages for distributing and sharing libraries, and the document provides instructions for creating a gem using Bundler that includes a generator.
This class agenda provides an introduction to Python programming, Django web development framework, and deploying Django projects. It covers Python fundamentals, Django models and administration interface, views and templates, and deploying completed projects. The class is divided into sections on Python, Django models, views, templates, and deployment.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
2. Agenda
• Overview
• Setting up Ruby for an application
• Setup up Cocoapods
• Raking the setup, build and testing tasks
• Setting up the Jenkins jobs
• Sit Back and let it build
Wednesday, October 16, 13
3. What is Continuous
Integration
• Process in which code is constantly compiled
with tests run against the app
Wednesday, October 16, 13
4. Adding Ruby to your
Application
• Mac has ruby installed by default
• Add a couple of gems:
•$ sudo gem install rake
$ sudo gem install bundler
Wednesday, October 16, 13
6. CocoaPods Init
# Uncomment this line to define a global platform for your project
# platform :ios, "6.0"
pod 'AFNetworking', '~> 1.3.2'
pod 'TestFlightSDK', '~> 2.0'
pod 'Reachability', '~> 3.1.1'
pod 'Pixate', '~> 2.0.0RC2'
target :test do
!
link_with "WorkoutPokerTests"
!
#pod 'Kiwi', '~> 2.2.1'
!
pod 'OCMock', '~> 2.2.1'
end
Wednesday, October 16, 13
8. Rake Setup
task :setup do
system 'bundle install'
system 'pod install'
end
Wednesday, October 16, 13
9. Rake Build
task :build do
system 'xcodebuild -workspace WorkoutPoker.xcworkspace
-scheme WorkoutPoker build'
end
Wednesday, October 16, 13
10. Rake Test
task :test do
system 'xcodebuild -workspace WorkoutPoker.xcworkspace -scheme
WorkoutPoker -sdk iphonesimulator7.0 build test'
end
Wednesday, October 16, 13
11. Rake frank
task :frank do'
result = system 'frank build --workspace WorkoutPoker.xcworkspace -scheme WorkoutPoker'
if result
#system 'frank launch'
Dir.chdir('Frank') do
system 'cucumber'
end
end
end
Wednesday, October 16, 13
12. Get Started with
Jenkins
• Download Jenkins
• Run java -jar jenkins.war
• Open browser and go to localhost:8080
Wednesday, October 16, 13