Bamboo is a continuous integrations server from Atlassian. But Bamboo is much more than that. See, how a modern CI-Server goes further with automated building, testing, deploying, and releasing of your software.
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.
Continuous integration and delivery using Atlassian Bamboo allows for:
1) Splitting build and deployment projects to support multiple environments with Bamboo plans, stages, jobs, and tasks organizing the build pipeline.
2) Releasing any version through deployment projects at the push of a button by ensuring every change is releasable.
3) Integrating Bamboo with other Atlassian tools like Jira and Bitbucket for tracking issues and source code.
Jenkins is a continuous integration server that detects code changes, runs automated builds and tests, and can deploy code. It supports defining build pipelines as code to make them version controlled and scalable. Popular plugins allow Jenkins pipelines to integrate with tools for testing, reporting, notifications, and deployments. Pipelines can define stages, run steps in parallel, and leverage existing Jenkins functionality.
The document discusses lean construction and continuous improvement. It begins with an overview of lean principles like identifying value-adding vs. non-value adding work and minimizing waste. Tools discussed include value stream mapping, 5S, SMED (Single Minute Exchange of Dies), and the PDCA (Plan-Do-Check-Act) cycle. Continuous improvement requires engaging workers to iteratively improve quality and efficiency through small incremental changes, some of which could lead to innovation. Barriers include maintaining momentum and ensuring leadership support.
This document provides information on using Spring Boot Actuator to add production-ready features like health monitoring, metrics collection, and auditing to Spring Boot applications. It describes built-in endpoints like /health and /metrics that provide health checks and application metrics. It also shows how to add custom health indicators, record custom metrics, and export metrics to external systems.
Scrum is an agile framework that focuses on rapid delivery of working software in short cycles called sprints. It consists of self-organizing cross-functional teams, regular sprints with daily stand-ups, and artifacts like a product backlog, sprint backlog, and burn-down charts. The product owner prioritizes the backlog, the scrum master facilitates the process, and teams work to complete items in sprints usually 2-4 weeks long. Scrum enables rapid, flexible response to change through inspection and adaptation at the end of each sprint.
Git is a distributed version control system that allows local operations and branching. It uses a staging area to track file changes between unmodified, modified, and staged states before committing snapshots. Common commands include clone, add, commit, pull, push, branch, merge, and status. Typical workflows involve cloning a repository, making changes, staging and committing locally, pulling updates, and pushing commits. Branches allow parallel work, while tags mark project milestones. Merging combines branches, and conflicts may occur.
The document provides an overview of version control systems and introduces Git and GitHub. It discusses the differences between centralized and distributed version control. It then covers the basics of using Git locally including initialization, staging files, committing changes, branching and merging. Finally, it demonstrates some common remote operations with GitHub such as pushing, pulling and tagging releases.
Git is a distributed version control system that was created by Linus Torvalds as an improvement over centralized systems like Subversion; it works by tracking changes to files and committing snapshots of changes locally or to a remote server, and has a flexible branching workflow that allows users to work independently and merge changes together. The document provides an introduction to basic Git concepts, commands, and workflows for versioning code and collaborating through branching and merging changes.
Jenkins is a tool that allows users to automate multi-step processes that involve dependencies across multiple servers. It can be used to continuously build, test, and deploy code by triggering jobs that integrate code, run tests, deploy updates, and more. Jenkins provides a web-based interface to configure and manage recurring jobs and can scale to include slave agents to perform tasks on other machines. It offers many plugins to support tasks like testing, deployment, and notifications.
Apache Subversion (SVN) is an open source version control system that allows software developers to work collaboratively and track revisions over time. It retains a full history of changes, supports merging of branches, and has language bindings for many programming languages. SVN allows developers to update their local files, commit changes, and resolve conflicts when merging revisions. It is implemented through both server and client-side software that manages repositories of file revisions.
I have evidence that using git and GitHub for documentation and community doc techniques can give us 300 doc changes in a month. I’ve bet my career on these methods and I want to share with you.
Cost of Delay: An Economic Approach to Decision MakingRoger Turnau
Cost of Delay is a lightweight approach to feature and product prioritization that asks a simple question: how much does it cost you not to have something? Reinertsen has said that Cost of Delay is the most important thing to quantify when producing a product. Great, but how do you start? How do you assign a dollar amount to something you have not built yet? How do we make sure that our teams focus on building the most important thing right now? This talk will give you the tools you need to understand Cost of Delay, as well as a set of techniques, from simple proxies to more sophisticated real-dollar analyses to help you understand the impact of delays on your organization.
This document discusses using Git hooks for deployment to staging and production environments. It provides examples of a simple scenario using a post-update hook to automatically deploy code on push to a single production server. It also outlines a more advanced setup using Git hooks to deploy to staging and production environments with different processes, including emails on staging deploys and manual gem updates for production.
This presentation about Jenkins pipeline will help you understand what is Jenkins & how Jenkins performs continuous integration, why do we need pipeline & how Jenkins pipeline works. You will learn how to create build and delivery pipelines & automate tasks, understand what is scripted and declarative pipeline with the help of Groovy scripts. Jenkins is an open-source continuous integration tool that is used to automate software development phases such as building, testing and deploying. Jenkins pipeline is a suite of plugins that support integration and implementation of jobs using continuous build and delivery pipelines. Now let's get started and understand how Jenkins pipeline works.
Below topics are explained in this Jenkins pipeline presentation:
1) What is Jenkins?
2) What is Continuous Integration?
3) Why Pipeline?
4) How does Jenkins pipeline work?
5) Build and delivery pipeline
6) Scripted and declarative pipeline
7) Demo on Jenkins pipeline
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...Simplilearn
This presentation about "DevOps interview questions part - 1" will take you through some of the most popular questions that you face in a DevOps interview. This video covers interview questions related to source code management, continuous integration, continuous testing, configuration management, containerization, and continuous monitoring. "The DevOps Hiring Boom” claims that as many as 80 percentages of Fortune 1000 organizations are expected to adopt DevOps by 2019. If you’ve started cross-training to prepare for development and operations roles in the IT industry, you know it’s a challenging field that will take some real preparation to break into. Here are some of the most common DevOps interview questions and answers that can help you while you prepare for DevOps roles in the industry. Learn and get a deeper understanding of these questions to set you apart from the crowd in this booming industry.
This "DevOps interview questions" presentation will answer the questions related to the topics mentioned below:
1. General DevOps questions
2. Source code management - Git
3. Continuous integration - Jenkins
4. Continuous testing - Selenium
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery, and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet, and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
This document discusses concepts related to estimation and velocity in Scrum projects. It describes how to estimate product backlog items using story points or ideal days with relative sizing. Velocity is defined as the amount of work completed each sprint by totaling the sizes of completed backlog items. A team's velocity range is used for planning and process improvement. Planning poker is presented as a consensus-based technique for sizing items through discussion.
This document provides an overview of version control systems and Git/GitHub basics. It defines centralized and distributed version control systems, and explains how Git is a distributed system. It then gives instructions for Git configuration, committing files, branching, merging, rebasing, stashing changes, and using GitHub as a remote repository.
No drama here - E2E-testing django with playwrightMastacheata1
Presentation given at the 30th Django Meetup Cologne on April 19th 2022.
The presentation shows a few of the key benefits of Playwright and how to use it with Django/Python in General.
The presentation was held at and sponsored by my employer Ambient Innovation GmbH
Java uses streams to handle input/output operations. Streams provide a standardized way to read from and write to various sources and sinks like files, networks, and buffers. There are byte streams that handle input/output of bytes and character streams that handle characters. Common stream classes include FileInputStream, FileOutputStream, BufferedReader, and BufferedWriter which are used to read from and write to files and console. Streams can be chained together for complex I/O processing.
Agile software development is an iterative approach that emphasizes collaboration between self-organizing teams. It promotes adaptive planning, evolutionary development, and rapid response to change. Key characteristics include breaking work into small increments, short iterations of 1-4 weeks with full development cycles, cross-functional teams without hierarchy, and face-to-face communication. Agile differs from traditional methods by focusing more on collaboration and working software than documentation. Common challenges to adopting agile include getting individuals to work as cohesive teams and increasing transparency.
Node.js is an open-source JavaScript runtime environment that allows building scalable server-side and networking applications. It uses asynchronous, event-driven, non-blocking I/O which makes it lightweight and efficient for data-intensive real-time applications that run across distributed devices. Some key features of Node.js include excellent support for building RESTful web services, real-time web applications, IoT applications and scaling to many users. It uses Google's V8 JavaScript engine to execute code outside of a browser.
A fair analysis of the Agile Methodology. A quick comparison of Agile and Waterfall to clear up misconceptions about the two. Scalability is a major issue with Agile and is worth considering if you're not a large software company.
Github Actions enables you to create custom software development lifecycle workflows directly in your Github repository. These workflows are made out of different tasks so-called actions that can be run automatically on certain events.
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.
This PPT describes most used commands.
Playwright: A New Test Automation Framework for the Modern WebApplitools
Join Andrey Lushnikov, Principal Engineer at Microsoft, as he shares insights into the decisions behind the creation and development Playwright; how Playwright is the only tool that covers modern automation needs; and why it is believed Playwright is the first framework that can be used for cross-browser testing.
Atlassian faces the same issues as any other software company in the world. The battle for continuous integration glory is fought every day, and at stake is nothing less than our development and delivery speed. Join us to find out how we do it at Atlassian, powered by Bamboo. Because in the Game of Codes, you win... or you die.
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDocker, Inc.
Presented by Sandro Cirulli, Platform Tech Lead, Oxford University Press
Oxford University Press (OUP) recently started the Oxford Global Languages (OGL) initiative (http://www.oxforddictionaries.com/words/oxfordlanguages) which aims at providing language resources for digitally under represented languages. In August 2015 OUP launched two African languages websites for Zulu (http://zu.oxforddictionaries.com) and Northern Sotho (http://nso.oxforddictionaries.com). The backend of these websites is based on an API retrieving data in RDF from a triple store and delivering data to the frontend in JSON-LD.
The entire micro-service infrastructure for development, staging, and production runs on Docker containers in Amazon EC2 instances. In particular, we use Jenkins to rebuild the Docker image for the API based on a Python Flask application and Docker Compose to orchestrate the containers. A typical CI workflow is as follows:
- a developer commits code to the codebase
- Jenkins triggers a job to run unit tests
- if the unit tests are successful, the Docker image of the Python Flask application is rebuilt and the container is restarted via Docker Compose
- if the unit tests or the Docker build failed, the monitor view shows the Jenkins jobs in red and displays the name of the possible culprit who broke the build.
A demo of this CI workflow is available at http://www.sandrocirulli.net/continuous-integration-with-jenkins-docker-and-compose
Git is a distributed version control system that allows local operations and branching. It uses a staging area to track file changes between unmodified, modified, and staged states before committing snapshots. Common commands include clone, add, commit, pull, push, branch, merge, and status. Typical workflows involve cloning a repository, making changes, staging and committing locally, pulling updates, and pushing commits. Branches allow parallel work, while tags mark project milestones. Merging combines branches, and conflicts may occur.
The document provides an overview of version control systems and introduces Git and GitHub. It discusses the differences between centralized and distributed version control. It then covers the basics of using Git locally including initialization, staging files, committing changes, branching and merging. Finally, it demonstrates some common remote operations with GitHub such as pushing, pulling and tagging releases.
Git is a distributed version control system that was created by Linus Torvalds as an improvement over centralized systems like Subversion; it works by tracking changes to files and committing snapshots of changes locally or to a remote server, and has a flexible branching workflow that allows users to work independently and merge changes together. The document provides an introduction to basic Git concepts, commands, and workflows for versioning code and collaborating through branching and merging changes.
Jenkins is a tool that allows users to automate multi-step processes that involve dependencies across multiple servers. It can be used to continuously build, test, and deploy code by triggering jobs that integrate code, run tests, deploy updates, and more. Jenkins provides a web-based interface to configure and manage recurring jobs and can scale to include slave agents to perform tasks on other machines. It offers many plugins to support tasks like testing, deployment, and notifications.
Apache Subversion (SVN) is an open source version control system that allows software developers to work collaboratively and track revisions over time. It retains a full history of changes, supports merging of branches, and has language bindings for many programming languages. SVN allows developers to update their local files, commit changes, and resolve conflicts when merging revisions. It is implemented through both server and client-side software that manages repositories of file revisions.
I have evidence that using git and GitHub for documentation and community doc techniques can give us 300 doc changes in a month. I’ve bet my career on these methods and I want to share with you.
Cost of Delay: An Economic Approach to Decision MakingRoger Turnau
Cost of Delay is a lightweight approach to feature and product prioritization that asks a simple question: how much does it cost you not to have something? Reinertsen has said that Cost of Delay is the most important thing to quantify when producing a product. Great, but how do you start? How do you assign a dollar amount to something you have not built yet? How do we make sure that our teams focus on building the most important thing right now? This talk will give you the tools you need to understand Cost of Delay, as well as a set of techniques, from simple proxies to more sophisticated real-dollar analyses to help you understand the impact of delays on your organization.
This document discusses using Git hooks for deployment to staging and production environments. It provides examples of a simple scenario using a post-update hook to automatically deploy code on push to a single production server. It also outlines a more advanced setup using Git hooks to deploy to staging and production environments with different processes, including emails on staging deploys and manual gem updates for production.
This presentation about Jenkins pipeline will help you understand what is Jenkins & how Jenkins performs continuous integration, why do we need pipeline & how Jenkins pipeline works. You will learn how to create build and delivery pipelines & automate tasks, understand what is scripted and declarative pipeline with the help of Groovy scripts. Jenkins is an open-source continuous integration tool that is used to automate software development phases such as building, testing and deploying. Jenkins pipeline is a suite of plugins that support integration and implementation of jobs using continuous build and delivery pipelines. Now let's get started and understand how Jenkins pipeline works.
Below topics are explained in this Jenkins pipeline presentation:
1) What is Jenkins?
2) What is Continuous Integration?
3) Why Pipeline?
4) How does Jenkins pipeline work?
5) Build and delivery pipeline
6) Scripted and declarative pipeline
7) Demo on Jenkins pipeline
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...Simplilearn
This presentation about "DevOps interview questions part - 1" will take you through some of the most popular questions that you face in a DevOps interview. This video covers interview questions related to source code management, continuous integration, continuous testing, configuration management, containerization, and continuous monitoring. "The DevOps Hiring Boom” claims that as many as 80 percentages of Fortune 1000 organizations are expected to adopt DevOps by 2019. If you’ve started cross-training to prepare for development and operations roles in the IT industry, you know it’s a challenging field that will take some real preparation to break into. Here are some of the most common DevOps interview questions and answers that can help you while you prepare for DevOps roles in the industry. Learn and get a deeper understanding of these questions to set you apart from the crowd in this booming industry.
This "DevOps interview questions" presentation will answer the questions related to the topics mentioned below:
1. General DevOps questions
2. Source code management - Git
3. Continuous integration - Jenkins
4. Continuous testing - Selenium
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery, and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet, and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
This document discusses concepts related to estimation and velocity in Scrum projects. It describes how to estimate product backlog items using story points or ideal days with relative sizing. Velocity is defined as the amount of work completed each sprint by totaling the sizes of completed backlog items. A team's velocity range is used for planning and process improvement. Planning poker is presented as a consensus-based technique for sizing items through discussion.
This document provides an overview of version control systems and Git/GitHub basics. It defines centralized and distributed version control systems, and explains how Git is a distributed system. It then gives instructions for Git configuration, committing files, branching, merging, rebasing, stashing changes, and using GitHub as a remote repository.
No drama here - E2E-testing django with playwrightMastacheata1
Presentation given at the 30th Django Meetup Cologne on April 19th 2022.
The presentation shows a few of the key benefits of Playwright and how to use it with Django/Python in General.
The presentation was held at and sponsored by my employer Ambient Innovation GmbH
Java uses streams to handle input/output operations. Streams provide a standardized way to read from and write to various sources and sinks like files, networks, and buffers. There are byte streams that handle input/output of bytes and character streams that handle characters. Common stream classes include FileInputStream, FileOutputStream, BufferedReader, and BufferedWriter which are used to read from and write to files and console. Streams can be chained together for complex I/O processing.
Agile software development is an iterative approach that emphasizes collaboration between self-organizing teams. It promotes adaptive planning, evolutionary development, and rapid response to change. Key characteristics include breaking work into small increments, short iterations of 1-4 weeks with full development cycles, cross-functional teams without hierarchy, and face-to-face communication. Agile differs from traditional methods by focusing more on collaboration and working software than documentation. Common challenges to adopting agile include getting individuals to work as cohesive teams and increasing transparency.
Node.js is an open-source JavaScript runtime environment that allows building scalable server-side and networking applications. It uses asynchronous, event-driven, non-blocking I/O which makes it lightweight and efficient for data-intensive real-time applications that run across distributed devices. Some key features of Node.js include excellent support for building RESTful web services, real-time web applications, IoT applications and scaling to many users. It uses Google's V8 JavaScript engine to execute code outside of a browser.
A fair analysis of the Agile Methodology. A quick comparison of Agile and Waterfall to clear up misconceptions about the two. Scalability is a major issue with Agile and is worth considering if you're not a large software company.
Github Actions enables you to create custom software development lifecycle workflows directly in your Github repository. These workflows are made out of different tasks so-called actions that can be run automatically on certain events.
Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.
This PPT describes most used commands.
Playwright: A New Test Automation Framework for the Modern WebApplitools
Join Andrey Lushnikov, Principal Engineer at Microsoft, as he shares insights into the decisions behind the creation and development Playwright; how Playwright is the only tool that covers modern automation needs; and why it is believed Playwright is the first framework that can be used for cross-browser testing.
Atlassian faces the same issues as any other software company in the world. The battle for continuous integration glory is fought every day, and at stake is nothing less than our development and delivery speed. Join us to find out how we do it at Atlassian, powered by Bamboo. Because in the Game of Codes, you win... or you die.
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDocker, Inc.
Presented by Sandro Cirulli, Platform Tech Lead, Oxford University Press
Oxford University Press (OUP) recently started the Oxford Global Languages (OGL) initiative (http://www.oxforddictionaries.com/words/oxfordlanguages) which aims at providing language resources for digitally under represented languages. In August 2015 OUP launched two African languages websites for Zulu (http://zu.oxforddictionaries.com) and Northern Sotho (http://nso.oxforddictionaries.com). The backend of these websites is based on an API retrieving data in RDF from a triple store and delivering data to the frontend in JSON-LD.
The entire micro-service infrastructure for development, staging, and production runs on Docker containers in Amazon EC2 instances. In particular, we use Jenkins to rebuild the Docker image for the API based on a Python Flask application and Docker Compose to orchestrate the containers. A typical CI workflow is as follows:
- a developer commits code to the codebase
- Jenkins triggers a job to run unit tests
- if the unit tests are successful, the Docker image of the Python Flask application is rebuilt and the container is restarted via Docker Compose
- if the unit tests or the Docker build failed, the monitor view shows the Jenkins jobs in red and displays the name of the possible culprit who broke the build.
A demo of this CI workflow is available at http://www.sandrocirulli.net/continuous-integration-with-jenkins-docker-and-compose
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 provides an overview of continuous integration and Jenkins. It discusses how continuous integration addresses issues with integration phases in older software development models. Jenkins is introduced as a tool that facilitates continuous integration by automatically building and testing software changes. The document then demonstrates how to install Jenkins, configure repositories and jobs, and see how builds pass or fail based on code changes.
Continuous Delivery with Jenkins and Wildfly (2014)Tracy Kennedy
A presentation on a continuous delivery pipeline that leverages Jenkins Enterprise, Jenkins Operations Center, Nexus, HAProxy, and Wildfly. Pipeline components run in Docker containers along with SkyDock/SkyDNS for service discovery and NSEnter for command-line access to containers.
This document provides instructions for setting up Gitlab and generating SSH keys. It demonstrates how to generate an SSH key pair, add the public key to Gitlab, clone a Gitlab project, commit changes and push commits to the remote repository. It also covers initializing Git flow and performing common Git and Gitlab tasks like creating branches, starting a release, and fetching from the remote.
Este documento introduce los conceptos de integración continua y describe cómo configurar un entorno de integración continua utilizando las herramientas Jenkins, Sonar y Maven. Explica qué es cada herramienta, cómo instalarlas y configurarlas, y demuestra su uso conjunto mediante un ejemplo de integración continua para un proyecto de gestión de alumnos alojado en GitHub.
This document discusses GitFlow, SourceTree, and GitLab for software development workflows. It provides an overview of main and supporting branch types in GitFlow like develop, master, feature, release and hotfix. It also summarizes the key features and uses of SourceTree for visualizing Git repositories and GitLab for hosting Git repositories and providing features like activity streams, code review, issues and more.
Linux containers and Docker specifically have revolutionized the way applications are run at scale, but testing can greatly benefit from those technologies too.Containers allow to run tests in isolation with a minimum performance penalty, increased speed with respect to virtual machine based tests and easier configuration and less complexity for integration testing. Testing with containers allows running tests in a new, clean environment for each execution, minimizing false positives and environment corruption. At the same time it allows reusing container clusters to run development, testing and production workloads.You will learn to effectively use Jenkins with Docker and Kubernetes, a multi host Docker clustering technology, to run your Jenkins jobs in isolated containers for each execution at scale.
http://www.agiletestingdays.com/session/using-docker-for-testing/
This document discusses using Docker and Bamboo for continuous integration and deployment pipelines. It provides examples of configuring Bamboo to build, test, and deploy Docker images and applications. It also describes using Docker Compose in Bamboo pipelines and customizing Bamboo virtual machines with Packer and Ansible to have Docker pre-installed.
Master Continuous Delivery with CloudBees Jenkins Platformdcjuengst
This document discusses the CloudBees Jenkins Platform for continuous delivery. It begins by outlining challenges that organizations face as their use of open source Jenkins grows. It then introduces the CloudBees Jenkins Platform as an enterprise-grade solution for Jenkins that provides features like high availability, security, scalability, and expert support. The document explores various components of the CloudBees Jenkins Platform, including CloudBees Jenkins Enterprise, support for cloud and containers, continuous delivery capabilities, and tools for monitoring and management at scale.
The document discusses best practices for using Git including basic commands, branches, tags, and collaboration using GitHub. It covers Git fundamentals like committing, pushing, pulling and branching as well as more advanced topics such as rebasing, cherry-picking, stashing and using Git hooks for continuous integration. The presentation aims to help users learn to use Git more efficiently.
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
Find out why more and more developers are switching to Git - distributed version control. This intro to Git covers the basics, from cloning to pushing for beginners.
Introduction to Git/Github - A beginner's guideRohit Arora
Introduction to Git/Github - A beginner's guide
Agenda:
Installing Git
Introduction to Version Control
Git Basics
Creating a new local Git repository
Cloning a Git repository
Making use of Git commit history
Reverting files to previous states
Creating a Github Repository
Adding, Committing & Pushing changes
Branching
Merging Branches
Sending Pull Requests
Conflict Resolution
and 3 Exercises
Docker and Jenkins. Orchestrating Continuous Delivery
Through the use of build pipelines, Continuous Delivery will enable faster and more frequent build, test and deployment cycles of software.
To ensure that what you are delivering has the required quality: how do we build a continuous delivery pipeline in the real world?
In this session, instead of relying on static step configurations, we are going to demonstrate how to code a pipeline using Jenkins and Gradle and how Docker can help on this task. The end result is faster application releases with higher quality.
DevOps and Continuous Delivery reference architectures for DockerSonatype
This document provides links to blogs and presentations about DevOps and Continuous Delivery practices using Docker from various sources. It includes over 25 references to external resources on topics like Docker Universal Control Plane, Continuous Delivery, clustering Jenkins, Docker introductions, monitoring deployments, Docker in build pipelines, and deploying containers to IBM Bluemix. The document promotes a one-day DevOps conference and offers a free private Docker registry and to share additional Docker reference architectures.
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
What plugins, tools and behaviors can help you get the most out of your Jenkins setup without all of the pain? We'll find out as we go over a set of Jenkins power tools, habits and best practices that will help with any Jenkins setup.
The document provides instructions and sample tasks for Part 3 of the Cambridge First Certificate in English (FCE) Speaking exam. In Part 3, candidates are given photos or pictures related to a topic and must:
1) Discuss each photo/picture in turn, expressing and justifying opinions to their partner.
2) Come to an agreement with their partner about a decision related to the topic, such as selecting the best two photos.
The document provides sample examiner instructions, topics, photos, and guidance on justifying opinions, involving their partner, and reaching an agreement.
Developing for Remote Bamboo Agents, AtlasCamp US 2012Atlassian
Brydie McCoy, Java Developer
As more and more peoples' building demands grow, they expand from building everything locally to a distributed building system or the elastic cloud. And for OnDemand the elastic cloud is the only option. Unfortunately developing plugins for remote/elastic agents has its own set of gotchas. Most plugins written for Bamboo do not work properly on remote agents. This talk will cover the core principles of developing for remote agents, what you can and can't do, as well as more advanced topics such as data transfer and communication between the agent and the server.
Kanban and Scrum are two frameworks for managing work. Scrum uses fixed timeboxed iterations called sprints, while Kanban focuses on continuous flow. Scrum requires self-contained teams with all needed skills, while Kanban allows for heterogeneous teams to work across different workflow stages. Kanban is more flexible than Scrum and allows changing priorities during workflow, while Scrum resists changes once a sprint begins. Both approaches can incorporate elements from other frameworks like daily stand-ups. Overall, Kanban is less prescriptive and easier to introduce than Scrum in most organizations.
Can you fix my customers?!? Lightening Talk Agile Ukraine 2011Robin Dymond
Are your Lean Agile software development customers and Scrum Product Owners too busy to work with your team? Here are 3 ideas you can use to help customers and Scrum Product Owners improve how they manage their time and visualize their work. Give your Product Owners tools to make working with their teams easier and more effective.
The document provides an overview of modern web development using an Agile methodology. It discusses planning product design in sprints, managing cross-functional teams, using source control and testing tools, and automating deployments to staging and production environments. The goal is to collaboratively and flexibly develop and deliver features to clients through a process of dividing work into sprints, writing code and tests concurrently, and progressively releasing updates.
Android Bootstrap provides tools and frameworks to simplify Android development. It includes libraries for dependency management (Maven), UI components (ActionBarSherlock, ViewPager), network requests (HTTP support), and more. Setting up the tools takes 3-5 days for experienced developers and 1-3 weeks for beginners. The code is hosted on GitHub and the app architecture uses Maven with modules for the parent and app. It implements features like account management and JSON parsing to reduce boilerplate code.
Background processing reduces the load on dialog work processes by scheduling regular activities to run in the background. A background job consists of one or more steps, which can be an ABAP program, external command, or external program. Jobs are assigned priorities and can be triggered by time or event. The Job Wizard provides an easy way to define a job with general information and start conditions. Job monitoring displays job status and logs.
Agile2011 Session
Agile Education by Object Game
Most HISSATSU Way to understand it.
This session has an another article, Object Card. please download with it
In the progression from the preliminary task to the full product, Sam Rees learned improved editing skills using Final Cut Pro to create clear, flowing cuts. Camera work skills also increased, with practice producing steadier shots. Creative ideas progressed by researching bio-pics of John Lennon to make the open school more realistic and entertaining compared to earlier ideas.
Decoupling shared code with state that needs to cleared in between usesMichael Fons
- Method injection in Spring allows setting a child bean's scope to "prototype" while keeping the parent bean's scope as "singleton". This is done by injecting a factory method for the child bean into the parent bean.
- An example is provided of shared validation code that needed reinstantiation. Method injection was used to set the validation bean to "prototype" while keeping the parent bean scope as "singleton".
- Benefits include avoiding needless object recreation if all beans were "prototype", as well as increased testability by isolating stateful objects.
This document provides tips for keeping maintenance projects fresh. It discusses how code quality degrades over time and presents strategies like refactoring, writing automated tests, improving tooling/workflows, and following principles like separation of concerns, single responsibility, and YAGNI to evolve legacy code in a sustainable way. Maintaining clean code and prioritizing readability helps projects stay productive over the long run.
The document discusses using work queues with Gearman and CodeIgniter. It begins with an introduction to work queues, describing them as sequences of stored data or programs awaiting processing. It then discusses the client worker pattern for processing asynchronous jobs, some limitations of this approach, and how Gearman can help address those limitations by facilitating work distribution across languages and servers. The document provides instructions for installing and configuring Gearman to add work queue functionality.
The document discusses Cucumber, a behavior-driven development (BDD) framework that uses natural language to describe features and scenarios. It outlines some key benefits of Cucumber, including encouraging BDD/TDD practices, supporting multiple test drivers and languages. It also notes some potential downsides, such as slower performance and messy directory structures. In conclusion, while Cucumber has advantages for involving whole teams, it is not necessarily suitable for all projects.
Selenium and Cucumber Selenium Conf 2011dimakovalenko
The document discusses Cucumber, a behavior-driven development (BDD) framework that helps with test-driven development (TDD). It outlines some key features of Cucumber, including that it encourages BDD and TDD practices, supports multiple test drivers and languages, and produces readable test results. It also notes some potential downsides, such as that regex step definitions can be hard to find and the natural language parsing can be slower.
This document provides an overview of Spring Boot. It discusses the history of Spring Boot and how it evolved from earlier Spring Framework releases to reduce configuration. Spring Boot makes it easy to create Spring-based applications and services with features like auto configuration, embedded servers, and starter dependencies. It also discusses current Spring Boot versions, supported template engines, ways to create Spring Boot apps using IDEs, CLI or Spring Initializr, and some advantages and limitations of Spring Boot.
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...manssandstrom
This document discusses strategies for integrating work from multiple Scrum teams. It outlines the role of an integration team in continuously integrating work. Key success factors for the integration team include: integrating work early, having the necessary resources and environments, practicing continuous integration, using automated tests, maintaining at least two test environments, performing early performance tests, stopping work if integration breaks, having a clear contract between development and integration teams, making the integration process and status visible.
The document discusses an intern's work on a data sync feature that required adding a new backend endpoint to sync data between pumps. The intern learned that it is important to make developers want to remove blockers, speak both technical and non-technical languages, and take pride in one's work.
The document discusses using Kanban techniques to help prepare user stories for Scrum sprints. It suggests using a Kanban board to track the progress of stories through stages like user input, interfaces, team input, and writing specifications, before they are ready for a sprint. The Kanban board aims to help the product owner analyze and ready the stories for development teams to work on and complete within a sprint, improving delivery velocity.
Recalibrate - How AI shakes up software teamsSven Peters
AI assistants are changing how we code. But this is just the beginning of how AI will transform software development: Agents can already estimate user stories, put them into code plans, write tests, monitor software in production, and categorize user feedback for us.
This shift changes how developers collaborate and interact in their teams and across the organization. If agents can step in as our technical advisors, scrum masters, and IT operations engineers, how will we work together? Do we still need traditional development teams?
Join Sven and discover how the developer’s role changes and how we must rethink human-to-human interaction when AI becomes our primary developer buddy. One thing is clear: we must recalibrate how we work together in software teams.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
✊ Join the DEV-olution: A culture of empowered developersSven Peters
Engineering leaders say their organizations struggle with productivity, collaboration, and tracking progress against goals. Some try to fix it by adding more dashboards, making strict rules, and asking for more reports. But just doing more doesn't solve the real issues developers face.
Let’s build a culture that empowers developers to do the right things and starts a dev-olution. Join Sven and hear how empowered teams build trustful relationships, work asynchronously and synchronously, use data smartly, care about outcomes, stay curious, and always try new things. More importantly, you will learn how to establish such a culture evolutionarily.
Empowering your engineers will amplify developer joy and supercharge your development effectiveness.
Team Shaping - Building a shared understandingSven Peters
Teamwork is tough, and it’s not getting easier. As more teams switch to remote or hybrid work models, building and maintaining a sense of connection and shared purpose among team members is becoming increasingly challenging. If we're going to get our teams healthy, we need to hit the teamwork gym!
Learn how to build a healthy team! We'll develop a shared understanding of responsibilities, team goals, how you work together, and our relationship with other teams. With just four simple exercises, you can bring your team in shape to become more productive and innovative. So let's pump...you up!
Developer Joy - How great teams get s%*t doneSven Peters
Join Sven and learn how great software teams measure and improve their developer experience, coordinate work across teams, run autonomous but highly aligned teams, and create a healthy and joyful engineering culture. Always backed up by data (not driven) instead of opinions.
The talk will demonstrate how great teams faced development challenges, reinvented themselves, and created new ways of working to get s%*t done. Without losing sight of what makes this craft fun for engineers.
We all know it and hate it — the dreaded “status meeting.” They’re great when it’s a small team, but they don’t scale and become a waste of time. In this session, we’ll show how to use Confluence and Atlas to keep teams in sync, async, while empowering them to continue using the apps that let them thrive.
The Hitchhiker's Guide to a Great Developer CareerSven Peters
As developers, our job is to write great code, test code, deploy code, fix code, and even delete code, but nobody told us that there is much more to it if we want to have a great developer career.
In this talk, Sven and Helen will share their successes and failures during their 20-year careers to date working for various technology companies. You’ll learn about growing your personal brand (what is it good for?), the trials and tribulations of different roles (so many choices), becoming a manager (or not), mentoring and sponsoring (they are not the same thing), how to care for yourself (prevent burnout), and lots more career advice.
You'll hear about their inevitable bumps in the road (or downright failures), as well as their successes. As it turns out, having a great developer career is not all about the technology and the code; it's also about you and the people around you!
The Effective Developer - Work Smarter, not HarderSven Peters
We’re agile, we’re doing DevOps, we work in cross-functional teams, and we use the latest developer pipeline tooling. With all those methodologies and technologies we should be highly effective, right? Probably not. Most of us still struggle with balancing coding speed and quality, working on the stuff that really makes a difference, and feeling constantly stressed by all the things we should learn.
Effective developers don’t just write clean, simple, and robust code. They also have a strong understanding of the entire development process and the problem that needs to be solved. They take time to learn, practice, and play.
Learn how those developers build effective coding habits, think about the outcome first, reserve time for deep work, and much more. You’ll walk away from this talk with lots of ideas on how to work smarter, not harder.
With all conferences going virtual this year, it's easier than ever to give a presentation: no travel days and no hotel costs. So how do you convince the organizers of an event that you're the right person with the right topic?
MongoDB veteran speakers Lauren Schaefer and Sven Peters have spoken at over 300 events and will share their tips and tricks and how to avoid pitfalls when submitting a proposal to speak at a conference.
In this workshop, you'll learn how to identify a topic that is perfect for both you and the conference, create a compelling title, and write a convincing abstract. And don't worry—you don't need to have tons of experience in public speaking to land your first gig.
The Effective Developer - Work Smarter, Not HarderSven Peters
We’re agile, we’re doing DevOps, we work in cross-functional teams, and we use the latest developer pipeline tooling. With all those methodologies and technologies we should be highly effective, right? Probably not. Most of us still struggle with balancing coding speed and quality, working on the stuff that really makes a difference, and feeling constantly stressed by all the things we should learn.
Effective developers don't just write clean, simple, and robust code. They also have a strong understanding of the entire development process and the problem that needs to be solved. They take time to learn, practice, and play.
Learn how those developers build effective coding habits, think about the outcome first, reserve time for deep work, and much more. You’ll walk away from this talk with lots of ideas on how to work smarter, not harder.
Remote work is offering lots of great benefits: access to a larger talent pool, freedom, working in pyjamas, and much more. So why are so many companies failing with remote work or hesitate to give it a try?
Sven works remotely for more than 7 years and will share 5 things how you and your distributed team can be more productive, happier, and feel more fulfilled while working remotely. You'll hear about practices like code review etiquettes, video conference rules, share-it-or-it-didn’t-happen guidelines, and much more. Learn how to best set up your office, how to keep connections with co-workers, and which tools works best in order to rock remote work.
A Career Advice: Change is the Only ConstantSven Peters
The document discusses how change is constant and provides examples from the author's career journey spanning several decades working in technology. It notes how innovations and trends in technology emerged and evolved rapidly over the years. The author advocates following your passion, being open to sideways moves, challenging the status quo, not fearing failure, finding a healthy work-life balance, and embracing constant change.
Whether you’re just starting out in Confluence, or working in it every day, join Sven to discover the “hacks” that will maximize your productivity and make work flow more seamlessly.
Transform your content and learn the keyboard shortcuts, layout tricks, automation, and customizations that will make creating beautiful spaces and pages a breeze.
Less Process, more Guidance with a Team PlaybookSven Peters
Teams are different, projects are different, problems are different. Why are we still trying to squeeze teamwork into department processes, adding bureaucracy, and having organizational layers that makes it harder and much slower to get work done?
Join Sven Peters, former lead evangelist at Atlassian now K15t, as he talks about creating a Team Playbook by collecting practices from all teams in an organizations. No end-to-end process, no strict development rules, just some guidelines. You’ll learn tons of plays like goal setting with OKRs, decision making with DACIs, team improvements with health monitors, finding risks with premortem’s, and many more.
This talk will teach you how to utilize a playbook for more autonomy by providing teams with the freedom to pick what works in their environment.
Every software team writes code, but some teams produce fewer bugs than others. Every software team creates new features, but some teams develop them faster than others. What do high performance teams do differently, and why are team members more focused, satisfied and relaxed? They truly work together. No 10x rockstar programmer can achieve what a well rounded, enthusiastic team can.
Sven examines how the best software teams set and follow goals, integrate new members fast, ensure diversity, monitor and continually improve team health, embrace transparency, use a playbook to guide them through every phase of development and much more. He shares techniques including: bugfix rotations, OKRs, feature buddies, open demos, focus days and many more that help teams and team members to work more effectively together, and produce awesome results.
This session shows you how we do Kick-@$$ software development at Atlassian and actually get stuff done. Feedback cycles are short, code quality is awesome and customers get the features they lust after. Hear how we: use pull-requests for better code quality; collaborate fast to develop ideas; avoid meetings; tighten feedback loops to fail fast; shorten release cycles and work together happily on different continents. Sound like paradise? It is!
One day we woke up and realized that our days are filled with all kind of stuff unrelated to code or product, that our goals are driven by product owners, and that our code design is dictated by architects trying to tell us how we should solve problems. A strong coding culture gives the power back to the developer to concentrate on one thing: Create awesome stuff!
Imagine a culture where the input of the whole organization turns an individual idea into a user story in just a couple of hours; where everybody's goal is to make the customer awesome, and where you work on stuff you love instead stuff you loathe. A great coding culture concentrates on making developers productive and happy by removing unnecessary overhead, bringing autonomous teams together, helping the individual programmer to innovate, and raising the awareness among the developers to create better code.
I will talk about how to establish and foster a strong engineering-focused culture that scales from a small team to a huge organization with hundreds of developers. I'll give lots of examples from our experience at Atlassian to show that once you're working in a great coding culture, you won't want to work anywhere else.
You can find a video version of the talk here: https://www.youtube.com/watch?v=rRc0FEg46kw
It's the culture, but not as you know itSven Peters
People often start companies with a smart team and great product ideas. But as companies grows, some leaders tend to forget that it's not the product and services that made them successful – it's the culture. Culture may actually be harder to build than any product, but your organization can benefit in every way if you end up with a great one.
Sven works for Atlassian, an Australian software company that grew from 8 to 800 people in the last 10 years. He will share successes – and struggles – with bringing new people into a strong company culture, how culture is upheld in distributed teams, how your team can maintain its core culture, and why innovation and fun should be part of every company's culture.