How to implement automatic game development workflow with Jenkins server and Git SCM. Workflow consists of development, building, testing and deployment performed automatically.
How do you deploy a game with millions of online users, playing across the globe, without interrupting their experience? Learn how Scopely uses AWS automation tools to build, deploy, and manage highly-scalable mobile games. They show how to use AWS CloudFormation and Ansible to build andquot;golden AMIs.andquot; See how they do green/blue deployment of those AMIs using Auto Scaling and Amazon Elastic Load Balancing, to avoid kicking players offline. Then, hear how they leverage Amazon Kinesis, ElasticSearch, and Amazon SNS to create a unified monitoring and alerting infrastructure for your games. Finally, learn how Scopely use Amazon VPC and AWS Identity and Access Management (IAM) to keep your scalable gaming infrastructure safe and secure.
Automated android testing using jenkins cisveinungkb
This document discusses automated Android testing using Jenkins. It describes setting up Jenkins to run Android tests and pull test reports after each build. Key steps include installing Jenkins, the Android SDK, Ant, and configuring an Android project. Jobs are then created in Jenkins to run tests, collect test coverage reports, and perform releases. The document provides code samples for configuring builds with Ant, pulling reports from devices, and modifying the Android manifest and build properties.
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 Tikal Knowledge
This document discusses using Jenkins for continuous integration (CI) and continuous delivery (CD) of .NET open source projects. It covers how to achieve CI using Jenkins by automating builds, testing on each commit, and more. It also discusses using NuGet for dependency management and Sonar for code quality analysis. Finally, it provides examples of using Jenkins to deploy builds to platforms like AWS Elastic Beanstalk for CD after builds pass testing.
In Coscup 2011, the slide shows why developer should use continue integration(jenkins) toolbox with project management(redmine, trac, google code) toolbox to fulfill the need of software project lifecycle. And share the working step of Android+jenkins.
This document provides steps to set up Jenkins for continuous integration, including installing Java, Git, and configuring a GitHub account. It then explains how to create a Jenkins job that will build a project from a GitHub repository, run tests, and generate code coverage reports on each commit. The job is configured to pull code from GitHub, run Maven goals to build and test the project, and publish JUnit test reports, JavaDocs, and a Cobertura code coverage report.
This document provides instructions for setting up a continuous integration environment using Ubuntu Linux, Ruby on Rails, CruiseControl, JsUnit and Selenium. It includes steps to install the necessary software like Ubuntu, Ruby, Rails, MySQL, Subversion and other tools. It also outlines creating a sample Rails application, importing it to Subversion and configuring CruiseControl for continuous integration. The goal is to have a working CI environment that can be easily replicated and used on real projects.
Continuous Integration for your Android projectsSergii Zhuk
The document discusses continuous integration (CI) for Android projects. It describes several popular CI systems and tools including Travis CI, Circle CI, and Jenkins. Travis CI and Circle CI are hosted services that integrate with GitHub, while Jenkins is open-source and requires self-hosting. The document provides configuration examples and discusses using these systems to run builds, tests and deployments automatically on each code change. It also covers continuous deployment options to distribute builds to test devices.
Explains implementation steps for running Genymotion device as Android emulator with Jenkins headless server. The logic is tried and tested for concurrent Jenkins builds on Ubuntu server
How do you deploy a game with millions of online users, playing across the globe, without interrupting their experience? Learn how Scopely uses AWS automation tools to build, deploy, and manage highly-scalable mobile games. They show how to use AWS CloudFormation and Ansible to build andquot;golden AMIs.andquot; See how they do green/blue deployment of those AMIs using Auto Scaling and Amazon Elastic Load Balancing, to avoid kicking players offline. Then, hear how they leverage Amazon Kinesis, ElasticSearch, and Amazon SNS to create a unified monitoring and alerting infrastructure for your games. Finally, learn how Scopely use Amazon VPC and AWS Identity and Access Management (IAM) to keep your scalable gaming infrastructure safe and secure.
Automated android testing using jenkins cisveinungkb
This document discusses automated Android testing using Jenkins. It describes setting up Jenkins to run Android tests and pull test reports after each build. Key steps include installing Jenkins, the Android SDK, Ant, and configuring an Android project. Jobs are then created in Jenkins to run tests, collect test coverage reports, and perform releases. The document provides code samples for configuring builds with Ant, pulling reports from devices, and modifying the Android manifest and build properties.
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 Tikal Knowledge
This document discusses using Jenkins for continuous integration (CI) and continuous delivery (CD) of .NET open source projects. It covers how to achieve CI using Jenkins by automating builds, testing on each commit, and more. It also discusses using NuGet for dependency management and Sonar for code quality analysis. Finally, it provides examples of using Jenkins to deploy builds to platforms like AWS Elastic Beanstalk for CD after builds pass testing.
In Coscup 2011, the slide shows why developer should use continue integration(jenkins) toolbox with project management(redmine, trac, google code) toolbox to fulfill the need of software project lifecycle. And share the working step of Android+jenkins.
This document provides steps to set up Jenkins for continuous integration, including installing Java, Git, and configuring a GitHub account. It then explains how to create a Jenkins job that will build a project from a GitHub repository, run tests, and generate code coverage reports on each commit. The job is configured to pull code from GitHub, run Maven goals to build and test the project, and publish JUnit test reports, JavaDocs, and a Cobertura code coverage report.
This document provides instructions for setting up a continuous integration environment using Ubuntu Linux, Ruby on Rails, CruiseControl, JsUnit and Selenium. It includes steps to install the necessary software like Ubuntu, Ruby, Rails, MySQL, Subversion and other tools. It also outlines creating a sample Rails application, importing it to Subversion and configuring CruiseControl for continuous integration. The goal is to have a working CI environment that can be easily replicated and used on real projects.
Continuous Integration for your Android projectsSergii Zhuk
The document discusses continuous integration (CI) for Android projects. It describes several popular CI systems and tools including Travis CI, Circle CI, and Jenkins. Travis CI and Circle CI are hosted services that integrate with GitHub, while Jenkins is open-source and requires self-hosting. The document provides configuration examples and discusses using these systems to run builds, tests and deployments automatically on each code change. It also covers continuous deployment options to distribute builds to test devices.
Explains implementation steps for running Genymotion device as Android emulator with Jenkins headless server. The logic is tried and tested for concurrent Jenkins builds on Ubuntu server
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.
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)CloudBees
Continuous delivery pipelines are, by definition, workflows with parallel job executions, join points, retries of jobs (Selenium tests are fragile) and manual steps (validation by a QA team). Come and discover how the new workflow engine of Jenkins CI and its Groovy-based DSL will give another dimension to your continuous delivery pipelines and greatly simplify your life.
Sample workflow groovy script used in this presentation: https://gist.github.com/cyrille-leclerc/796085e19d9cec4a71ef
Jenkins workflow syntax reference card: https://github.com/cyrille-leclerc/workflow-plugin/blob/master/SYNTAX-REFERENCE-CARD.md
Overview of Bamboo's Continuous Integration and Continuous Delivery features, including branch-per-issue unified development workflow. Also includes supported Operating Systems, Databases, and User Authentication mechanisms.
Jenkins is a continuous integration server that detects changes to code repositories, running tasks like building, testing, and deploying code. It helps integrate code more frequently to detect errors early. Jenkins has over 47,000 installations and 600+ plugins. It coordinates running tasks as part of workflows to compile, test, package, and deploy code. Common alternatives to Jenkins include TeamCity and Bamboo.
This document discusses how Jenkins can be used to integrate with Git and Docker. It describes how Jenkins supports advanced Git integration through various plugins that help manage interactions with Git repositories. It also explains how Jenkins can be used to both manage Docker resources and build Docker images through available plugins. The document includes demonstrations of these capabilities.
Criando pipelines de entrega contínua multilinguagem com Docker e JenkinsCamilo Ribeiro
Palestra apresentada no QCon do Rio de Janeiro em 2015, sobre docker, jenkins, job dsl e automação de uma pipeline.
Exemplos e código podem ser encontrados em: https://github.com/camiloribeiro/cdeasy
This document discusses Node.js, continuous integration, continuous delivery, and Jenkins pipelines. It provides code examples for setting up a Node.js project with Sequelize, Mocha testing, and a Makefile for building, packaging, and deploying the project. It also shows a Jenkinsfile for integrating the project with Jenkins for continuous integration and delivery to production.
Саша Белецкий "Continuous Delivery в продуктовой разработке"Agile Base Camp
This document discusses why, how, and when to implement continuous delivery for software projects. It describes how the author used to manually deploy updates for a simple web application, which took 30 minutes to 2 hours and caused customer dissatisfaction. The document then presents the key aspects of continuous delivery: (1) enabling one-click local builds and deployments, (2) defining a source control model with branches for features and releases, and (3) running continuous integration to automatically build, test and deploy changes. It provides examples of tools that can be used to achieve this, such as Jenkins for continuous integration. Implementing these practices resulted in deployment times improving 45 times and site downtimes reducing 300 times.
Jenkins is the leading open source continuous integration tool. It builds and tests our software continuously and monitors the execution and status of remote jobs, making it easier for team members and users to regularly obtain the latest stable code.
Jenkins is a continuous integration server that allows developers to automatically build, test, and deploy software projects continuously as code changes are committed to version control systems like Git. The document outlines how to set up Jenkins to build an iOS Xcode project with each commit using plugins for Git, Xcode, and TestFlight deployment to beta testers. More information can be found at http://jenkins-ci.org.
This document provides an introduction and overview of Jenkins, an open-source automation tool for continuous integration. It discusses that Jenkins is written in Java and uses plugins to enable continuous integration through automation of various DevOps stages. Some key advantages are that it is open-source, easy to install, has many plugins, and is free. The document also covers what continuous integration is, why it is needed to detect problems early, and the different stages of adopting a continuous integration approach.
Fastlane - Automation and Continuous Delivery for iOS AppsSarath C
Automation and Continuous Delivery for iOS Apps using Fastlane tools. This was presented at FAYA, Technopark, Trivandrum on 01-Jun-2016.
Fastlane is a collection of utilities that work beautifully together without friction. It's now part of Fabric, Twitter's developer tools and development lead by Felix Krause (Twitter: @krausefx) and many other amazing developers.
iOS developers typically spend several times managing provision files, certificates and so many mundane and boring stuffs they've to do with Apple Developer portal and tools. Fastlane tools can help you to right from creating a project to deploy your app to AppStore.
Fastlane has an amazing ability to pass the result of data around each of the utilities in your pipeline. Also the actions helps you to customize and extend your fastlane utilities.
Fastlane often come pre-installed with popular continuous integration servers like CricleCI. Utilities like match can help you a lot to manage your certificates and provision files by securely shari across computers. This works quite handy with with CI servers as well.
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...vodQA
Team Alpha wanted to build a robust web application without bugs or flaws in the user interface. They realized their GUI tests did not adequately test the visual appearance and aesthetics. Visual tests that took screenshots and compared them were implemented but proved flaky due to differences in hardware displays. To solve this, the team set up Xvfb with a fixed resolution and PPI to have a consistent virtual frame buffer. They further improved repeatability by containerizing the test suite using Docker, which provided a sandbox environment. This final setup gave consistently passing visual tests and ensured a flawless user experience for their web application.
JUC Europe 2015: Plugin Development with Gradle and GroovyCloudBees
By Daniel Spilker, CoreMedia
Learn how to use the Gradle JPI plugin to enable a 100% Groovy plugin development environment. We will delve into Groovy as the primary programming language, Spock for writing tests and Gradle as the build system.
Jenkins is an open-source tool for continuous integration that allows developers to integrate code changes frequently from a main branch using an automated build process. It detects errors early, measures code quality, and improves delivery speed. Jenkins supports various source control, build tools, and plugins to customize notifications and reporting. Security features allow restricting access and privileges based on user roles and projects.
Using Jenkins for continuous delivery allows for easy installation, upgrades, configuration, distributed builds, and plugin support. Jenkins supports continuous integration through features like compiling, packaging, testing, and deploying code. It facilitates shorter release cycles through goals like developing on production-like environments, performing early performance testing, and minimizing the time from idea to delivery. Continuous delivery with Jenkins enables frequent releases, rapid feedback, and deploying any code change simply with a single button press.
Rise of the Machines - Automate your DevelopmentSven Peters
When we talk about automation in software development, we immediately think of automated builds and deployments. We may also be using scripts to help make our daily work easier. But this is really just the beginning of the rise of the machines.
I show you how leading developers in our industry are using open source and commercial tools for automating much more. They've got "robots" for monitoring production servers, updating issues, supporting customers, reviewing code, setting up laptops, doing development reporting, conducting customer feedback -- even automating daily standups. In what instances is it useful to automate? In what cases does it not make sense? Automation prevents us from having to do the same thing twice, helps us to work better together, reduces workflow errors and frees up time to write production code. Plus, as it turns out, spending time on automation is fun! Don't be afraid of robots in software development, embrace them! Even if I save you just half an hour a week, this talk will be a beneficial investment of your time.
This document discusses deploying code using version control and continuous integration. It recommends developing code locally, using distributed version control like Git, and deploying to a testing environment before production. Continuous integration helps multiple developers share code by automatically verifying each code push. The workflow involves local development, a central version control repository, continuous integration pipelines to build and test code, and deploying builds to servers. Initial setup involves cloning repositories, installing applications, and configuring environments. The script provided automates deploying code from Codeship to a Git repository, running Composer to install dependencies, committing changes, and running post-deployment tests with Assertible.
HoloLens Unity Build Pipelines on Azure DevOpsSarah Sexton
Developers of Unity UWP apps: stop wasting time compiling builds in Unity, then Visual Studio, then manually deploying. Save time with an automated pipeline! Create builds from start to finish, implement Unit Tests, save every build artifact, and even distribute using App Center! Learn how to create a Azure DevOps pipeline that can be used to build any Mixed Reality solution.
Working with the AOSP - Linaro Connect Asia 2013Opersys inc.
This document provides instructions for customizing and building the Android Open Source Project (AOSP). It discusses tools for working with AOSP, building AOSP, output images, compatibility testing, and basic customizations like adding a new device. The document is intended to guide developers through setting up their environment, building AOSP, and making simple changes to AOSP components and devices.
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.
Pimp your Continuous Delivery Pipeline with Jenkins workflow (W-JAX 14)CloudBees
Continuous delivery pipelines are, by definition, workflows with parallel job executions, join points, retries of jobs (Selenium tests are fragile) and manual steps (validation by a QA team). Come and discover how the new workflow engine of Jenkins CI and its Groovy-based DSL will give another dimension to your continuous delivery pipelines and greatly simplify your life.
Sample workflow groovy script used in this presentation: https://gist.github.com/cyrille-leclerc/796085e19d9cec4a71ef
Jenkins workflow syntax reference card: https://github.com/cyrille-leclerc/workflow-plugin/blob/master/SYNTAX-REFERENCE-CARD.md
Overview of Bamboo's Continuous Integration and Continuous Delivery features, including branch-per-issue unified development workflow. Also includes supported Operating Systems, Databases, and User Authentication mechanisms.
Jenkins is a continuous integration server that detects changes to code repositories, running tasks like building, testing, and deploying code. It helps integrate code more frequently to detect errors early. Jenkins has over 47,000 installations and 600+ plugins. It coordinates running tasks as part of workflows to compile, test, package, and deploy code. Common alternatives to Jenkins include TeamCity and Bamboo.
This document discusses how Jenkins can be used to integrate with Git and Docker. It describes how Jenkins supports advanced Git integration through various plugins that help manage interactions with Git repositories. It also explains how Jenkins can be used to both manage Docker resources and build Docker images through available plugins. The document includes demonstrations of these capabilities.
Criando pipelines de entrega contínua multilinguagem com Docker e JenkinsCamilo Ribeiro
Palestra apresentada no QCon do Rio de Janeiro em 2015, sobre docker, jenkins, job dsl e automação de uma pipeline.
Exemplos e código podem ser encontrados em: https://github.com/camiloribeiro/cdeasy
This document discusses Node.js, continuous integration, continuous delivery, and Jenkins pipelines. It provides code examples for setting up a Node.js project with Sequelize, Mocha testing, and a Makefile for building, packaging, and deploying the project. It also shows a Jenkinsfile for integrating the project with Jenkins for continuous integration and delivery to production.
Саша Белецкий "Continuous Delivery в продуктовой разработке"Agile Base Camp
This document discusses why, how, and when to implement continuous delivery for software projects. It describes how the author used to manually deploy updates for a simple web application, which took 30 minutes to 2 hours and caused customer dissatisfaction. The document then presents the key aspects of continuous delivery: (1) enabling one-click local builds and deployments, (2) defining a source control model with branches for features and releases, and (3) running continuous integration to automatically build, test and deploy changes. It provides examples of tools that can be used to achieve this, such as Jenkins for continuous integration. Implementing these practices resulted in deployment times improving 45 times and site downtimes reducing 300 times.
Jenkins is the leading open source continuous integration tool. It builds and tests our software continuously and monitors the execution and status of remote jobs, making it easier for team members and users to regularly obtain the latest stable code.
Jenkins is a continuous integration server that allows developers to automatically build, test, and deploy software projects continuously as code changes are committed to version control systems like Git. The document outlines how to set up Jenkins to build an iOS Xcode project with each commit using plugins for Git, Xcode, and TestFlight deployment to beta testers. More information can be found at http://jenkins-ci.org.
This document provides an introduction and overview of Jenkins, an open-source automation tool for continuous integration. It discusses that Jenkins is written in Java and uses plugins to enable continuous integration through automation of various DevOps stages. Some key advantages are that it is open-source, easy to install, has many plugins, and is free. The document also covers what continuous integration is, why it is needed to detect problems early, and the different stages of adopting a continuous integration approach.
Fastlane - Automation and Continuous Delivery for iOS AppsSarath C
Automation and Continuous Delivery for iOS Apps using Fastlane tools. This was presented at FAYA, Technopark, Trivandrum on 01-Jun-2016.
Fastlane is a collection of utilities that work beautifully together without friction. It's now part of Fabric, Twitter's developer tools and development lead by Felix Krause (Twitter: @krausefx) and many other amazing developers.
iOS developers typically spend several times managing provision files, certificates and so many mundane and boring stuffs they've to do with Apple Developer portal and tools. Fastlane tools can help you to right from creating a project to deploy your app to AppStore.
Fastlane has an amazing ability to pass the result of data around each of the utilities in your pipeline. Also the actions helps you to customize and extend your fastlane utilities.
Fastlane often come pre-installed with popular continuous integration servers like CricleCI. Utilities like match can help you a lot to manage your certificates and provision files by securely shari across computers. This works quite handy with with CI servers as well.
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...vodQA
Team Alpha wanted to build a robust web application without bugs or flaws in the user interface. They realized their GUI tests did not adequately test the visual appearance and aesthetics. Visual tests that took screenshots and compared them were implemented but proved flaky due to differences in hardware displays. To solve this, the team set up Xvfb with a fixed resolution and PPI to have a consistent virtual frame buffer. They further improved repeatability by containerizing the test suite using Docker, which provided a sandbox environment. This final setup gave consistently passing visual tests and ensured a flawless user experience for their web application.
JUC Europe 2015: Plugin Development with Gradle and GroovyCloudBees
By Daniel Spilker, CoreMedia
Learn how to use the Gradle JPI plugin to enable a 100% Groovy plugin development environment. We will delve into Groovy as the primary programming language, Spock for writing tests and Gradle as the build system.
Jenkins is an open-source tool for continuous integration that allows developers to integrate code changes frequently from a main branch using an automated build process. It detects errors early, measures code quality, and improves delivery speed. Jenkins supports various source control, build tools, and plugins to customize notifications and reporting. Security features allow restricting access and privileges based on user roles and projects.
Using Jenkins for continuous delivery allows for easy installation, upgrades, configuration, distributed builds, and plugin support. Jenkins supports continuous integration through features like compiling, packaging, testing, and deploying code. It facilitates shorter release cycles through goals like developing on production-like environments, performing early performance testing, and minimizing the time from idea to delivery. Continuous delivery with Jenkins enables frequent releases, rapid feedback, and deploying any code change simply with a single button press.
Rise of the Machines - Automate your DevelopmentSven Peters
When we talk about automation in software development, we immediately think of automated builds and deployments. We may also be using scripts to help make our daily work easier. But this is really just the beginning of the rise of the machines.
I show you how leading developers in our industry are using open source and commercial tools for automating much more. They've got "robots" for monitoring production servers, updating issues, supporting customers, reviewing code, setting up laptops, doing development reporting, conducting customer feedback -- even automating daily standups. In what instances is it useful to automate? In what cases does it not make sense? Automation prevents us from having to do the same thing twice, helps us to work better together, reduces workflow errors and frees up time to write production code. Plus, as it turns out, spending time on automation is fun! Don't be afraid of robots in software development, embrace them! Even if I save you just half an hour a week, this talk will be a beneficial investment of your time.
This document discusses deploying code using version control and continuous integration. It recommends developing code locally, using distributed version control like Git, and deploying to a testing environment before production. Continuous integration helps multiple developers share code by automatically verifying each code push. The workflow involves local development, a central version control repository, continuous integration pipelines to build and test code, and deploying builds to servers. Initial setup involves cloning repositories, installing applications, and configuring environments. The script provided automates deploying code from Codeship to a Git repository, running Composer to install dependencies, committing changes, and running post-deployment tests with Assertible.
HoloLens Unity Build Pipelines on Azure DevOpsSarah Sexton
Developers of Unity UWP apps: stop wasting time compiling builds in Unity, then Visual Studio, then manually deploying. Save time with an automated pipeline! Create builds from start to finish, implement Unit Tests, save every build artifact, and even distribute using App Center! Learn how to create a Azure DevOps pipeline that can be used to build any Mixed Reality solution.
Working with the AOSP - Linaro Connect Asia 2013Opersys inc.
This document provides instructions for customizing and building the Android Open Source Project (AOSP). It discusses tools for working with AOSP, building AOSP, output images, compatibility testing, and basic customizations like adding a new device. The document is intended to guide developers through setting up their environment, building AOSP, and making simple changes to AOSP components and devices.
Microsoft has traditionally been a laggard in the JavaScript space, making such developers question whether their war cries were being heard aloud. Fortunately, the situation is rapidly improving since the release of Visual Studio Code. Code is a free, lightweight, cross-platform code editor which is sure to change your perception of Microsoft.
This presentation will demonstrate how to utilize popular JavaScript tooling within the editor. The focus will be placed on the first-class support for debuggers, linters, transpilers, and task runners.
This document provides instructions for building Android on Windows using Cygwin. It describes downloading and installing Cygwin, Java JDK 6, and configuring the environment variables. It also explains how to get the Android source code using Google's repo tool, and lists some common problems encountered during the build process and their solutions.
The document discusses HotelQuickly's approach to testing apps which includes using git flow, pull requests, code quality tools, unit tests, integration tests, and continuous integration. It provides details on sample app models, initializing an app with Express.js, finding offers with MySQL and Knex, dockerizing the app, adding test modules like Mocha and Should, implementing code quality with ESLint, booking hotels with custom errors, adding unit tests with Sinon and Proxyquire, and running integration tests and continuous integration with Docker Compose and Travis.
GitLab CI/CD is a built-in continuous integration and delivery tool in GitLab. It allows for automated testing, building, and deploying of applications. It supports various languages and tools through configuration files. Pipelines can be triggered on code pushes or manually to run tests and deploy code. The tool aims to speed up development workflows through automation while providing visibility into builds.
This document provides information about code obfuscation for Unity games built for Android. It discusses using code obfuscators like Crypto Obfuscator to protect game code and assets when building Unity games for the Android platform. Specific topics covered include obfuscating scripts, player prefs, and asset bundles. It also provides sample obfuscator settings and rules to properly obfuscate code while avoiding issues with the Unity engine and third party libraries. Command line instructions for extracting code from an APK, obfuscating, and repacking are also included.
Android Platform Debugging and DevelopmentOpersys inc.
This document provides an overview and agenda for a presentation on Android platform debugging and development. It covers:
1. An introduction to Android architecture basics like hardware, AOSP, Binder and system services.
2. Setting up the development environment, including host/target systems, IDEs like Android Studio, and exploring the AOSP sources.
3. Tools for observing and monitoring at the native, framework and overall system level, including logcat, dumpsys, and third party apps.
4. Interfacing with the framework using commands like am, pm and wm, and service calls.
5. Tips for working with the AOSP source code using make targets and other build tools.
Learn about how the core NuGet team the NuGet Client project. The project has challenges related to:
- Open Source
- Hard Deadlines
- Very Large Backlog
- Many Conflicting Requirements
- Git
We'll talk about our strategies for:
- Issue tracking - Branching
- Continuous integration
- Testing
- Release sign-off
Android Platform Debugging and DevelopmentOpersys inc.
This document provides an overview and agenda for a presentation on Android platform debugging and development. It covers debugging architecture basics, setting up a development environment in Android Studio, tools for observing and monitoring apps and frameworks, interfacing with core Android components, working with AOSP sources, and dynamic data collection techniques like logging, strace, ftrace, and perf. Symbolic debugging with gdb/gdbserver and challenges with systrace/atrace are also discussed.
GeoServer is an amazing project, and an amazing project to work on!
Please attend this workshop to:
* Get Started with the GeoServer codebase
* Orientation with a Tour of the GeoServer architecture
* Introduction the service dispatch framework, includin creating your own service
* Built chain and test facilities
* Create a custom function for use with map styling
* Create a custom process for use with style transformations and web processing service
* Anatomy of a successful pull request
Attendees will build their own GeoServer, learn a bit about how our community operates, and enjoy extending the base application.
If you are a developer looking to support GeoServer, or join us for a sprint or bug-stomp, this workshop is great introduction.
This course features hands-on development. We encourage and expect you to bring your favourite Java development environment.
For a good time with open source join GeoServer today!
Android Platform Debugging and DevelopmentOpersys inc.
This document provides an overview of debugging and development tools for the Android platform. It discusses setting up the development environment in Android Studio and explores tools for observing system behavior like logcat and dumpsys. Symbolic debugging with gdb and gdbserver is covered as well as dynamic tracing tools like ftrace. The document concludes with suggestions for benchmarking and performance analysis.
The Android Build System - Android MarshmallowRon Munitz
Part of my workshop in MobModCon 2015, where I explained how to approach the Android Build System, prior to customizing or building a custom ROM. Within the presentation there are updates which are not yet a part of Marshmallow, but are already in the master branch, and I gave them special attention (mostly painted them in Red). Such items include the Ninja build system and some of its derivatives.
Lezione 02 React and React Native installation and ConfigurationUniversity of Catania
This document provides instructions for setting up a development environment for React and React Native. It includes steps for installing Node.js, a code editor like Atom or VS Code, React, the Android and iOS SDKs, React Native, and optional tools like Genymotion emulator and Expo. It also describes configuring environment variables, creating a basic "Hello World" app in both React and React Native, running and debugging apps on devices or emulators, and setting up the ESLint linter.
Android Platform Debugging and DevelopmentOpersys inc.
This document provides an overview of debugging and development tools for the Android platform. It discusses setting up the development environment in Android Studio and exploring the AOSP source code. Various tools are described for observing system behavior like logcat, dumpsys, and profiling tools. Native debugging with gdb and gdbserver is covered as well as interfacing with framework services. The document concludes with benchmarking and performance analysis techniques.
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For Azure Functions we will Create Functions, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
Today’s cutting edge companies have software release cycles measured in days instead of months. This agility is enabled by the DevOps practice of continuous integration and delivery, which automates building, testing, and deploying all code changes. This automation helps you catch bugs sooner and accelerates developer productivity. In this session, we’ll share the processes followed by Amazon engineers and discuss how you can bring them to your company by using a set of application lifecycle management tools from AWS: the newly announced AWS CodeBuild service, AWS CodePipeline, and AWS CodeDeploy.
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For Azure Functions we will Create Functions, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
Similar to Continuous integration in games development (20)
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Preparing Non - Technical Founders for Engaging a Tech AgencyISH Technologies
Preparing non-technical founders before engaging a tech agency is crucial for the success of their projects. It starts with clearly defining their vision and goals, conducting thorough market research, and gaining a basic understanding of relevant technologies. Setting realistic expectations and preparing a detailed project brief are essential steps. Founders should select a tech agency with a proven track record and establish clear communication channels. Additionally, addressing legal and contractual considerations and planning for post-launch support are vital to ensure a smooth and successful collaboration. This preparation empowers non-technical founders to effectively communicate their needs and work seamlessly with their chosen tech agency.Visit our site to get more details about this. Contact us today www.ishtechnologies.com.au
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
2. Heroes of order & chaos
Continuous integration in game development
3. Order
1. Idea
2. MVP feature freeze
3. R & D phase
4. Define target HW requirements
5. Predict performance optimisation (optional)
6. Develop & deploy
4. Chaos
1. Development w/o source control
a. Impossible code undo
b. Impossible concurrent development
c. No development history
2. Development w/o unit tests
a. Time loss due to manual testing
b. Regression bugs
3. Manual deployment
13. Prerequisites
Jenkins
Git Extensions
Java
Unity 3d
Every specific platform requires its own topics. For example, android builds require android SDK
to be installed on computer and set up in Unity. You MUST make sure it works before setting
up build server.
15. Triggering build on commit
1. Install git-client plugin on Jenkins
● Plugin url: https://wiki.jenkins-ci.org/display/JENKINS/Git+Client+Plugin
2. Navigate to .git folder of Your repo
3. Enter HOOKS sub-folder
4. Edit post-commit hook:
● curl http://yourserver/jenkins/git/notifyCommit?url=<URL of the Git repository>
16. Running Unity3d build from Jenkins
1. Install Unity3dBuilder plugin in Jenkins
● Plugin url: https://wiki.jenkins-ci.org/display/JENKINS/Unity3dBuilder+Plugin
2. Add “Invoke Unity editor” build step in Jenkins with following command:
● -quit -batchmode -nographics -executeMethod BuildScripts.BuildWebPlayer -projectPath [full project path]
3. Implement method BuildScripts.BuildWebPlayer in Unity3D project
● see appendix A for sample source code
}
Based on the GranCruGames blog.
● NOTE: If You don’t want to customize Your build with own script, You can use
something like:
○ -quit -batchmode -projectPath "$WORKSPACE" -buildWindowsPlayer
"Artifacts/game.x86.exe" -logFile "$WORKSPACE/unity3d_editor.log"
17. Unit testing after build from Jenkins
1. Install Unity Test Tools from Asset Store
● Plugin url: https://www.assetstore.unity3d.com/en/#!/content/13802
2. Implement some unit tests in Your Unity project
3. Add “Invoke Unity editor” build step with following command:
● -batchmode -executeMethod UnityTest.Batch.RunUnitTests -quit -resultFilePath=”$WORKSPACETestsUnitresult.xml”
Based on the RamblingCoder’s channel.
18. Deploy after test from Jenkins
1. Install SSH Publish plugin in Jenkins
● Plugin url: https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin
2. Configure SSH Server
3. Add SSH file transfer build step
}
19. Report NUnit testing results
1. Install NUnit plugin in Jenkins
● Plugin url: https://wiki.jenkins-ci.org/display/JENKINS/NUnit+Plugin
2. Add “Publish NUnit test result report” post-build action:
Based on the RamblingCoder’s channel.
23. Appendix A
Source code for custom build script:
using UnityEditor;
using System;
class BuildScript
{
static void BuildWebPlayer ()
{
string buildTarget = System.Environment.GetEnvironmentVariable("UNITY_BUILD_TARGET");
if (buildTarget == null || buildTarget.Length == 0) {
throw new Exception("UNITY_BUILD_TARGET -system property not defined, aborting.");
}
string[] scenes = { "Assets/Level0.unity", "Assets/Level1.unity", "Assets/Level2.unity", "Assets/Level3.unity" };
string error = BuildPipeline.BuildPlayer(scenes, buildTarget, BuildTarget.WebPlayerStreamed, BuildOptions.None);
if (error != null && error.Length > 0) {
throw new Exception("Build failed: " + error);
}
}
Editor's Notes
Hi everybody and welcome to my presentation. I am Nebojsa Brindic from Bincode Entertainment. We are gaming startup which develops AAA games for mobile devices. Our project “Svarog: The Awakening”, is recently funded by Eleven Accelerator. It’s an RPG game based on Slavic mythology.
We were brave enough to jump into game industry right from the world of business apps, and, while facing many new, unknown challenges, we slowly started to apply our software experience in the development of aforementioned gaming project. That is actually our topic for today. The topic that is less known about, but the topic which saves You a lot of headaches. And that is continuous integration. I will not start with the definitions. It’s better to start just as the gaming project should start.
First of all, You got an idea that will blow the market and earn millions of dollars. Ideas are usually so wide and so full of details, that You will need 100-people team in order to develop it. And, althought You think Your idea is nothing but failure without any of these cool features, You have to be aware that You are walking on the thin string which will break sooner or later. So what is the solution?
Sit back, relax Yourself, and think about minimum set of features that, together, can constitute smaller, playable game. It’s not that this game will be blockbuster like Your final idea, but think about the featureset that can be at least good enough to have some minimal user base. And, once You know all the features in your MVP (minimum viable product), LOCK THEM! Do not allow anyone or anything to change Your mind and push You in the direction of adding new features. Because You will be literally dead if You do so. Actually - You will enter the never-ending development cycle.
When You finally understood the importance of this, and once You locked the features, go on with research & development. Here You have to examine and investigate all the potential glitches and challenges You will face during the development. Use Google. Ask some experienced developers about Your doubts. The point is to make Your ground stable. This step will usually give You the answers on the questions like: which technology we will use to develop code, how we will test, which formats of UI sketches do the programmers need, how to import animations in dev environment, et cetera.
This will lead You on the next step, and that is - what is Your target hardware? If You do not care about Samsung S3, S4, and S5, and You want to develop only for S6+, You will have much more computation resources available, so You will save precious time by ignoring some optimisations.
If, on the other hand, You care about lower performance devices, You will have to do a research about how to boost performance of Your game.
In the end, with all the knowledge You gathered, You can start. And here comes the trouble :-)
From order, we are jumping directly into chaos. Actually, it will become chaos if You do these things.
The worst thing one developer in the 21st century can do is to develop without source control. If he does this, he is not good developer. If You ask why, well - first of all - You can make a mistake without worry that something will be lost. Furthermore - it’s incredibly simple to develop same code in parallel with other developers.
When You finally realized the importance of source code management, You have to know that testing is also crucial aspect of development. Unit tests became so useful and so big time-saviors, that You really wish to incorporate them into Your development. Because they largely free You from stupid and time-consuming manual testing of Your code. And they make sure that Your code will be tested with each new feature and upgrade.
When everything is in place, and the game is developed and tested, it should be deployed. In many cases, deployment requires numerous configurations and repetitive procedures. It is pointless to do it each time manually, both because of time and because of possible errors due to human factor.
So, how to beat the chaos? First, let’s see how we should organize our source code development.
The first step in ordering Your chaos is to define Your labeling scheme. The way we work in our company is as simple as possible: First number marks the release, second number marks the feature, and the third marks the hotfix. Have on mind that this is not decimal notation, so You can easily see the labels such like 3.231.44.
Then, we start with source control management. In this talk, we will use git, as it is used by us in Bincode. And we will present GitFlow branching strategy, as it is by far the most advanced strategy which gives You great structure and big discipline.
The idea is to use develop branch as the unique place for development purposes. For adding new features, for correcting some development bugs, for literally everything related to development. Once You reach some reasonable feature set You planned, merge develop branch to master, and tag it with release mark.
The outcome of this procedure is that master branch will always contain ONLY stable releases.
Now, let’s assume You want to add new feature. You will use new branch from develop for every new feature. When You finish with it, just merge it back with develop branch.
So, imagine that You’ve added 4 features, and now You want to do a release. You will merge develop branch with master.
After one month of production use by some of Your clients, You got a feedback that there is a bug with some calculations when You press “OK” on the form for invoices. It’s urgent to fix. OK. Responsible developer will make new branch from master branch for that bug correction. After bug correction, hotfix branch is merged back to master, and that commit will be tagged appropriately.
This is pretty much everything about source code order. On this image You can see one more branch, and that is release branch. Personally, I don’t use it, but it is good when You want to keep track of release notes, etc.
Generally, the point of GitFlow is to give You well-structured and disciplined code base. And it certainly does it.
There are some tools which can speed up Your branching, without letting You to enter all the git commands in shell. SourceTree is GUI tool by Atlassian, and it’s very user-friendly and idiot-proof.
And so is git-flow cheatsheet, but it is set of shell commands that simplify raw git commands. So - use them as You wish ;-)
The second aspect of development boosting is - automation. It is the thing that will speed up Your development and bring You the production like on the conveyor belt.
We have seen how we can develop in disciplined manner, but what after that? You have to build Your code, to test it, and to deploy it. Those are all candidates for automation. In the examples we will use Jenkins CI server, exactly the same server like we use in our development infrastructure.
These are the prerequisites in order to turn the computer into game build server. It’s good to mention that, when installing Unity, it’s not enough to just install it. If Your project is android, or iOS-based, each of these platforms require their own specific setup procedures and possibly SDK-s to download and setup. Please reffer to platform documentation in order to setup unity properly.
So how the infrastructure looks like? Firt of all - we have centralized git repository, where all the code changes are commited by all the developers. The idea behind automation is to do the build, test and deploy each time the code is commited. By doing that, You will make sure that each change will satisfy the tests without errors, and that You will always have the last version deployed somewhere on Your test servers. Without a single minute spent by You or any of the developers on deployment, testing or building.
So let’s dive into the procedure. As soon as code is commited, git should trigger jenkins server, which will checkout last code, build it with Unity, send it to testing, and deploy output files. This is done via git hooks. Actually - post-commit hook. Post-commit hook will be called each time git repository is commited to. Hook is simply the set of custom shell commands. In this situation, we want to inform Jenkins server that our repository has new commit. We are doing curl web call to Jenkins’ git plugin API.
As our Jenkins project is set to checkout from this repository, it will automatically trigger whole procedure.
After hook has triggered the procedure, our code will be checked-out, and building should start. For this purpose, we need Unity 3d Builder plugin. It will allow us to define Unity Editor invocation, where we will invoke our unity command line, and build project from there. Have on mind that You can either build the project with default factory settings, or build the project with Your custom build scripts. Consult Appendix A for sample build script.
After the code-building step, we will define testing step with the use of Unity Test Tools. The procedure is the same as in previous step, but only the command is slightly different, and we should implement our test cases using Unity Test Tools.
In the end - we have compiled and tested code. We want to deploy. I am just giving You the idea with this SSH plugin, but You should implement this step according to Your needs. You can make a set of shell commands that do the FTP host, SCP host, or something else. I will leave that to You for homework :-)
As the final step, we want to have nice graphic report which gives us an insight into build & testing status. With the use of NUnit plugin for Jenkins, we can get exactly what we want.
This is the end result. Here You can see how the system looks like after all of these setups. You have build history section, You have testing report, and You can download each build. That’s exactly what we wanted, isn’t it?
So, this is it. In the end, I want to say again that implementing GitFlow in Your development gives You the ordered, structured and disciplined routine. You cannot get lost in such environment. And with the use of CI server, You saved Yourself precious time previously used on testing and deployment. That is gone now. You can finally concentrate on development.